Diagnose a Dolibarr error
Paste an error message from Dolibarr, PHP or the mail server: the tool recognises 39 messages, taken from the Dolibarr 16 to 24 code or quoted by our guides, gives the most likely cause and links to the fix.
Want someone to look at your instance? Diagnosis, fixed price €90.
What was checked (versions, tests, code read)
Each message in the list was taken from the Dolibarr code (language files and PHP code of versions 16.0.5 to 24.0.2) or from the guide that covers it, then checked again on 03/11/2026. The tool was tried on each of these messages.
Paste your error message
Recognised messages
39 messages, each one taken from the Dolibarr code (versions 16 to 24) or quoted by the guide that covers it.
"Dolibarr config file content seems to be not correctly defined": find the cause and fix it without reinstalling
dolibarr_main_document_root can't beconf.php gives no path: empty file, $dolibarr_main_document_root line deleted or commented out, or (on the command line) conf.php unreadable for the account running the script./core/lib/functions.lib.php not foundThe path is given in conf.php but the code is not there: Dolibarr moved to another folder (server move, host renaming its folders) or functions.lib.php is missing.config file content seems to be not correctly definedDolibarr found conf/conf.php but, reading it, cannot find its own code at the given location: the part in brackets of the message says why.that differs from the directory already defined into the existing conf.phpDolibarr was moved, or the host changed its folder layout: the paths in conf.php still point to the old folder.Parse error: syntax error … conf/conf.php on lineA typo in conf.php (a missing quote after an edit); the line quoted is often the one after the error.
“Setup not allowed by conf.php permissions”: unblocking the Dolibarr installer
Installation non autorisée par les permissions du fichierconf.php exists but the web server account (www-data on Debian/Ubuntu) cannot write to it: the wizard stops on purpose.n'existe pas et n'a pu être crééconf.php does not exist and the conf/ folder is read-only for the web server: same cause, same fix as the main message.est accessible en écriture au serveur Webconf.php belongs to another account than the web server (typical after a chmod 666): Dolibarr cannot make it read-only by itself.
“Your PHP installation does not support functions Intl”: what it affects in Dolibarr, and how to enable it
Votre installation PHP ne prend pas en charge les fonctions … IntlThe PHP intl extension is not installed or not enabled for the web server's PHP; it is only a warning, the installation goes on.
install.lock in Dolibarr: where to put it, and how to upgrade with it
les outils d'installation/migration doivent être désactivés en ajoutant un fichierInstalling with the web wizard does not create install.lock: you have to put it in the documents folder ($dolibarr_main_data_root).pages d'installation/mise à jour ont été désactivéesAn install.lock file is in the documents folder: this is the expected behaviour; for an upgrade, add upgrade.unlock rather than deleting install.lock.
Dolibarr upgrade stops: "commonsubtotal.class.php: Failed to open stream"
subtotals/class/commonsubtotal.class.php … Failed to open streamIncomplete file copy: the existing files were replaced but the subtotals/ folder, new in version 22, was not created.
Dolibarr error 500 or blank page: find the cause in a few minutes
/custom/ … Fatal error:The error happens in the code of an external module (custom/ folder): most often, a module incompatible with your Dolibarr or PHP version; update it or disable it.Allowed memory size ofPHP memory limit exceeded (memory_limit), mostly when generating a large PDF, an export or a long list.Call to undefined functionUndefined function: if it is a module function, that module is incompatible with your version; if it is a PHP function (images, internationalisation…), a PHP extension is missing, often after the host changed the PHP version.Call to undefined methodAn external module incompatible with your version (even if no /custom/ path shows in the pasted message).
“Token not provided” after two-factor authentication: which token is it
Token not providedThe page's anti-CSRF token is missing (not the two-factor code): the request did not come from the page that would have signed it (pasted link, bookmark, automated call, page left open for a long time, third-party module).
Dolibarr computed field rejected since version 23: the $dolibarr_main_restrict_eval_methods whitelist
is not into the parameter $dolibarr_main_restrict_eval_methodsSince 23, a computed field formula can only call the functions and methods of the $dolibarr_main_restrict_eval_methods allowlist in conf.php.found use of $ not matching patternVariable not allowed in the formula: the current object is written $objectoffield, a work variable $var followed by a number ($var1…).dot char is forbiddenConcatenation with the dot is refused: use dol_concat(text1, text2) after adding it to the allowlist.found not allowed key include|include_once|require|require_onceinclude and require (dol_include_once too) are refused in a formula: the function called must already be loaded by the module.only classes extended CommonObject can be used in dynamic evaluationnew Class($db) is only accepted for an already loaded class that extends CommonObject.Exception during evaluationThe function called by the formula is not loaded at computation time (the formula cannot include files): the module has to load the file that contains it.Bad string syntax to evaluateSince 23, formula rules were tightened for security reasons (allowlist, variables, include, concatenation, classes).
Dolibarr refuses to create a project without a lead status
souhaitez utiliser ce projet pour suivre une opportunitéThe “Follow opportunity” box is ticked by default on the creation form: as long as it is, the opportunity status is required.
Dolibarr not sending emails: SMTP setup and what each error message means
Invalid Authentication CredentialsThe server refuses the login or the password; Gmail and Microsoft 365 require an app password; after a migration, see the instance key.or fsockopen host=ssl:// … port=587TLS (SSL) is set to Yes on a STARTTLS port (587): set TLS (SSL) to No and STARTTLS to Yes.Couldn't get mail server response codesIf the port is 465: STARTTLS is set to Yes while TLS (SSL) should be Yes and STARTTLS No.Must issue a STARTTLS command firstNo encryption is set while the server requires it: STARTTLS to Yes (port 587).STARTTLS connection failedServer certificate not recognised (self-signed, or host name not matching the certificate): use the exact host name given by your mail provider.is either offline or is an invalid host nameSMTP server name misspelled or non-existent: correct the host.Error [111]: Connection refusedNothing listens on this port: check the port (587 or 465).Error [110]: Connection timed outThe port is blocked on the way (host firewall, common on shared hosting): try the other port, ask the host whether outgoing mail is blocked.please refrain from sending too many mailsThe provider reports a sending quota exceeded; it is not a wrong setting.Basic authentication is not supportedMicrosoft refuses password authentication (SMTP AUTH): enable it for the mailbox or switch to the “Use a OAUTH token” method.permissions to send as this senderThe sender email for automatic emails is not an address of the mailbox used to log in.Failed to send mail with php mailThe sending method is “PHP mail function” and the server (for example the official Docker image) has no mail program: choose SMTP/SMTPS socket library.bad hostname IP (private or reserved range)The “Test server connectivity” button deliberately refuses private or local addresses: the message shows even when sending works; use “Test sending”.message has lines too long for transportSignature containing a pasted image (encoded in the text) that produces lines that are too long (seen in 22.0.3, not reproduced in 24.0.2): use a hosted image, called by its address.
A Dolibarr error message almost always says what is wrong, but rarely in words you understand at first sight. Paste it into the tool: it compares it with the messages our guides have already covered and sends you straight to the right section.
What the tool recognises
- Dolibarr messages, in several languages. The translated ones were taken from the Dolibarr language files (French, English, German, Spanish, Italian): paste them as your screen shows them.
- PHP errors, for example memory exhausted or an undefined function. If the file path goes
through the
custom/folder, the tool names the external module at fault: it is the most common cause of a 500 error. - Mail server (SMTP) replies, which almost always say which setting to fix: port, encryption, password.
The pasted text does not leave your browser.
What it does not do
- It does not guess: a message missing from the list gets no made-up answer.
- It does not handle messages that are too general, such as “Access denied”, which have dozens of causes.
- A blank page has no message to paste: the guide Dolibarr error 500 or blank page explains where to read the real message, in the server log.
If nothing matches
The €90 diagnostic starts from your message and your instance to find the cause, and its price is deducted from a service if you order one afterwards.