Diagnostiquer une erreur Dolibarr
Collez un message d'erreur de Dolibarr, de PHP ou du serveur d'e-mails : l'outil reconnaît 39 messages, relevés dans le code de Dolibarr 16 à 24 ou cités par nos guides, donne la cause la plus probable et renvoie vers la solution.
Besoin qu’on regarde votre instance ? Diagnostic, prix fixe 90 €.
Ce qui a été vérifié (versions, tests, code lu)
Chaque message de la liste a été relevé dans le code de Dolibarr (fichiers de langue et code PHP des versions 16.0.5 à 24.0.2) ou dans le guide qui le traite, puis revérifié le 3/11/2026. L'outil a été essayé sur chacun de ces messages.
Collez votre message d’erreur
Les messages reconnus
39 messages, chacun relevé dans le code de Dolibarr (versions 16 à 24) ou cité par le guide qui le traite.
« Dolibarr config file content seems to be not correctly defined » : trouver la cause et réparer sans tout réinstaller
dolibarr_main_document_root can't beconf.php ne donne aucun chemin : fichier vide, ligne $dolibarr_main_document_root effacée ou commentée, ou (en ligne de commande) conf.php illisible pour le compte qui lance le script./core/lib/functions.lib.php not foundLe chemin est donné dans conf.php mais le code n'y est pas : Dolibarr a changé de dossier (déménagement, hébergeur qui renomme ses dossiers) ou le fichier functions.lib.php a disparu.config file content seems to be not correctly definedDolibarr a trouvé conf/conf.php mais, en le lisant, ne trouve pas son propre code à l'emplacement indiqué : la parenthèse du message dit pourquoi.that differs from the directory already defined into the existing conf.phpDolibarr a été déplacé ou l'hébergeur a changé l'organisation de ses dossiers : les chemins de conf.php désignent encore l'ancien dossier.Parse error: syntax error … conf/conf.php on lineUne erreur de frappe dans conf.php (un guillemet oublié après une modification) ; la ligne citée est souvent celle qui suit l'erreur.
« Installation non autorisée par les permissions du fichier conf.php » : débloquer l'installation de Dolibarr
Installation non autorisée par les permissions du fichierconf.php existe mais le compte du serveur web (www-data sur Debian/Ubuntu) ne peut pas le modifier : l'assistant s'arrête par contrôle.n'existe pas et n'a pu être crééconf.php n'existe pas et le dossier conf/ est en lecture seule pour le serveur web : même cause, même solution que le message principal.est accessible en écriture au serveur Webconf.php appartient à un autre compte que le serveur web (cas typique après un chmod 666) : Dolibarr ne peut pas le repasser lui-même en lecture seule.
« Votre installation PHP ne prend pas en charge les fonctions Intl » : ce que ça bloque dans Dolibarr, et comment l'activer
Votre installation PHP ne prend pas en charge les fonctions … IntlL'extension PHP intl n'est pas installée ou pas activée pour le PHP du serveur web ; ce n'est qu'un avertissement, l'installation continue.
install.lock dans Dolibarr : où le mettre, et comment faire une mise à jour avec
les outils d'installation/migration doivent être désactivés en ajoutant un fichierL'installation par l'assistant web ne crée pas install.lock : c'est à vous de le poser dans le dossier des documents ($dolibarr_main_data_root).pages d'installation/mise à jour ont été désactivéesUn fichier install.lock est présent dans le dossier des documents : c'est le comportement attendu ; pour une mise à jour, ajouter upgrade.unlock plutôt que supprimer install.lock.
Mise à jour de Dolibarr bloquée : « commonsubtotal.class.php: Failed to open stream »
subtotals/class/commonsubtotal.class.php … Failed to open streamCopie de fichiers incomplète : les fichiers existants ont été remplacés mais le dossier subtotals/, nouveau en version 22, n'a pas été créé.
Erreur 500 ou page blanche dans Dolibarr : trouver la cause en quelques minutes
/custom/ … Fatal error:L'erreur se produit dans le code d'un module externe (dossier custom/) : le plus souvent, un module incompatible avec votre version de Dolibarr ou de PHP ; le mettre à jour ou le désactiver.Allowed memory size ofDépassement de la mémoire PHP (memory_limit), surtout à la génération d'un gros PDF, d'un export ou d'une longue liste.Call to undefined functionFonction inconnue : si c'est une fonction d'un module, ce module est incompatible avec votre version ; si c'est une fonction de PHP (image, internationalisation…), une extension PHP manque, souvent après un changement de version de PHP chez l'hébergeur.Call to undefined methodUn module externe incompatible avec votre version (même sans /custom/ visible dans le message collé).
« Token not provided » après une double authentification : de quel jeton s'agit-il
Token not providedLe jeton anti-CSRF de la page manque (pas le code de double authentification) : la requête n'est pas partie de la page qui l'aurait signée (lien collé, favori, appel automatisé, page ouverte depuis longtemps, module tiers).
Champ calculé refusé depuis Dolibarr 23 : la liste blanche $dolibarr_main_restrict_eval_methods
is not into the parameter $dolibarr_main_restrict_eval_methodsDepuis la 23, une formule de champ calculé ne peut appeler que les fonctions et méthodes de la liste blanche $dolibarr_main_restrict_eval_methods de conf.php.found use of $ not matching patternVariable non autorisée dans la formule : l'objet courant s'écrit $objectoffield, une variable de travail $var suivi d'un nombre ($var1…).dot char is forbiddenLa concaténation avec le point est refusée : utiliser dol_concat(texte1, texte2) après l'avoir ajouté à la liste blanche.found not allowed key include|include_once|require|require_onceinclude et require (dol_include_once compris) sont refusés dans une formule : la fonction appelée doit déjà être chargée par le module.only classes extended CommonObject can be used in dynamic evaluationnew Classe($db) n'est accepté que pour une classe déjà chargée qui hérite de CommonObject.Exception during evaluationLa fonction appelée par la formule n'est pas chargée au moment du calcul (la formule ne peut pas faire d'include) : c'est au module de charger le fichier qui la contient.Bad string syntax to evaluateDepuis la 23, les règles des formules ont été durcies pour des raisons de sécurité (liste blanche, variables, include, concaténation, classes).
Dolibarr refuse de créer un projet sans statut d'opportunité
souhaitez utiliser ce projet pour suivre une opportunitéLa case « Suivre une opportunité » est cochée par défaut sur le formulaire de création : tant qu'elle l'est, le statut d'opportunité est obligatoire.
Dolibarr n'envoie pas les e-mails : configurer le SMTP et comprendre chaque message d'erreur
Invalid Authentication CredentialsLe serveur refuse l'identifiant ou le mot de passe ; Gmail et Microsoft 365 exigent un mot de passe d'application ; après une migration, voir la clé d'instance.or fsockopen host=ssl:// … port=587TLS (SSL) est à Oui sur un port STARTTLS (587) : mettre TLS (SSL) à Non et STARTTLS à Oui.Couldn't get mail server response codesSi le port est 465 : STARTTLS est à Oui alors qu'il faut TLS (SSL) à Oui et STARTTLS à Non.Must issue a STARTTLS command firstAucun chiffrement n'est réglé alors que le serveur l'exige : STARTTLS à Oui (port 587).STARTTLS connection failedCertificat du serveur non reconnu (auto-signé, ou nom d'hôte qui ne correspond pas au certificat) : utiliser le nom d'hôte exact donné par la messagerie.is either offline or is an invalid host nameNom du serveur SMTP mal orthographié ou inexistant : corriger l'hôte.Error [111]: Connection refusedRien n'écoute sur ce port : vérifier le port (587 ou 465).Error [110]: Connection timed outLe port est bloqué en chemin (pare-feu de l'hébergeur, fréquent sur les mutualisés) : essayer l'autre port, demander à l'hébergeur s'il bloque l'envoi sortant.please refrain from sending too many mailsLe fournisseur signale un quota d'envoi dépassé ; ce n'est pas un mauvais réglage.Basic authentication is not supportedMicrosoft refuse l'identification par mot de passe (SMTP AUTH) : l'activer pour la boîte ou passer à la méthode « Utiliser un token OAUTH ».permissions to send as this senderL'e-mail de l'expéditeur pour les e-mails automatiques n'est pas une adresse de la boîte utilisée pour s'identifier.Failed to send mail with php mailLa méthode d'envoi est « PHP mail function » et le serveur (par exemple l'image Docker officielle) n'a pas de programme d'envoi : choisir SMTP/SMTPS socket library.bad hostname IP (private or reserved range)Le bouton « Tester disponibilité serveur » refuse volontairement les adresses privées ou locales : le message s'affiche même quand l'envoi fonctionne ; utiliser « Tester envoi ».message has lines too long for transportSignature contenant une image collée (encodée dans le texte) qui produit des lignes trop longues (constaté en 22.0.3, non reproduit en 24.0.2) : utiliser une image hébergée, appelée par son adresse.
Un message d’erreur de Dolibarr dit presque toujours ce qui ne va pas, mais rarement avec des mots qu’on comprend du premier coup. Collez-le dans l’outil : il le compare aux messages que nos guides ont déjà traités et vous envoie directement à la bonne section.
Ce que l’outil reconnaît
- Les messages de Dolibarr, dans plusieurs langues. Ceux qui sont traduits ont été relevés dans les fichiers de langue de Dolibarr (français, anglais, allemand, espagnol, italien) : collez-les tels que votre écran les affiche.
- Les erreurs de PHP, par exemple une mémoire dépassée ou une fonction inconnue. Si le chemin du
fichier passe par le dossier
custom/, l’outil nomme le module externe en cause : c’est la cause la plus fréquente d’une erreur 500. - Les réponses des serveurs d’e-mails (SMTP), qui disent presque toujours quel réglage corriger : port, chiffrement, mot de passe.
Le texte collé ne quitte pas votre navigateur.
Ce qu’il ne fait pas
- Il ne devine pas : un message absent de la liste n’obtient pas de réponse inventée.
- Il ne traite pas les messages trop généraux, comme « Accès refusé », qui ont des dizaines de causes.
- Une page blanche n’a pas de message à coller : le guide Erreur 500 ou page blanche dans Dolibarr explique où lire le vrai message, dans le journal du serveur.
Si rien ne correspond
Le diagnostic à 90 € part de votre message et de votre instance pour trouver la cause, et son prix se déduit d’un forfait si vous le commandez ensuite.