Table of Contents
-
Introduction
-
Why Upgrades Can Cause Errors in Dolibarr
-
Preparing for an Upgrade: Best Practices
-
Common Upgrade Error Categories
-
Case Study 1: Database Schema Mismatch
-
Case Study 2: PHP Version Incompatibility
-
Case Study 3: Missing install.lock File
-
Case Study 4: Module Compatibility Issues
-
Case Study 5: File Permission Errors
-
Case Study 6: Blank or Broken UI After Upgrade
-
Case Study 7: Language File Errors
-
Case Study 8: Cron Jobs and Scheduled Tasks Failing
-
Analyzing logs: Where to Look and What to Watch
-
Tools and Scripts to Aid in Troubleshooting
-
Rolling Back Safely from a Failed Upgrade
-
Lessons Learned and Preventive Strategies
-
Community and Professional Support Resources
-
Conclusion
1. Introduction
Dolibarr ERP/CRM is widely adopted for its flexibility and modular design. However, like any complex system, upgrades—especially major ones—can lead to unexpected issues. Understanding, diagnosing, and resolving these errors quickly is crucial for business continuity. This article explores real-world upgrade error scenarios, their root causes, and structured solutions.
2. Why Upgrades Can Cause Errors in Dolibarr
Each new version introduces changes in:
-
Database schemas
-
PHP functions and compatibility
-
Internal APIs and class structures
-
UI templates and rendering logic
-
Module interfaces and configurations
If these changes aren’t matched with proper preparation and testing, errors are almost inevitable.
3. Preparing for an Upgrade: Best Practices
Before upgrading:
-
Backup your database and file system.
-
Test the upgrade in a staging environment.
-
Check your PHP version compatibility.
-
Verify third-party module compatibility.
-
Confirm the presence of
install.lock. -
Document customizations for reimplementation.
A checklist-driven approach reduces risk dramatically.
4. Common Upgrade Error Categories
-
Database errors: schema mismatch, missing columns
-
Fatal PHP errors: class/function not found
-
UI rendering issues: broken layouts, missing templates
-
Language errors: missing translations
-
Access issues: permission errors after file changes
-
Module malfunctions: custom code failing after core change
Each category may manifest with vague symptoms like blank screens, 500 errors, or UI glitches.
5. Case Study 1: Database Schema Mismatch
Symptom:
“Unknown column 'ref_ext' in 'field list'” when viewing invoices.
Root Cause:
Skipped or failed execution of a database migration step.
Resolution:
-
Check
/install/directory for the upgrade wizard. -
Review the
llx_consttable for version tracking. -
Re-run the upgrade from
/install/ -
Manually compare
llx_facturestructure using the/install/mysql/files
6. Case Study 2: PHP Version Incompatibility
Symptom:
White screen or "Deprecated function" error.
Root Cause:
Dolibarr version requires newer or older PHP version than current.
Resolution:
-
Check Dolibarr’s official PHP compatibility matrix
-
Update PHP if too old, or downgrade if version is too new
-
Ensure necessary PHP extensions (
pdo,gd,intl) are installed
7. Case Study 3: Missing install.lock File
Symptom:
Dolibarr shows installation wizard instead of login.
Root Cause:
The install.lock file was deleted or not recreated.
Resolution:
-
Create an empty file named
install.lockin the root directory -
Set correct permissions (644)
-
Lock
/install/directory with.htaccessas a secondary measure
8. Case Study 4: Module Compatibility Issues
Symptom:
Custom modules no longer load or throw exceptions.
Root Cause:
Changes in core hooks, class structures, or API signatures.
Resolution:
-
Check module compatibility with your Dolibarr version
-
Update the module if a newer version exists
-
Disable incompatible modules temporarily
-
Examine error logs to pinpoint outdated functions
9. Case Study 5: File Permission Errors
Symptom:
“Permission denied” errors during file uploads or PDF generation.
Root Cause:
File system permissions reset or misconfigured after upgrade.
Resolution:
-
Set
htdocsanddocumentsfolders to writable by the web user -
Use
chmod -R 755andchown -R www-data:www-data -
Confirm
conf.phpis readable
10. Case Study 6: Blank or Broken UI After Upgrade
Symptom:
Login screen loads, but after login the interface is blank.
Root Cause:
Theme or template incompatibility.
Resolution:
-
Switch to a default theme (Eldy) from the database directly
-
Clear cache from
documents/temp/ -
Disable custom CSS or JavaScript
11. Case Study 7: Language File Errors
Symptom:
Labels missing or untranslated despite language settings.
Root Cause:
Outdated or missing language files for new features.
Resolution:
-
Run the language cache reset via
admin/tools.php?action=clear_langcache -
Download latest language pack from Dolibarr’s translation portal
-
Manually update files in
/langs/
12. Case Study 8: Cron Jobs and Scheduled Tasks Failing
Symptom:
Invoices, reports, or tasks fail to execute as scheduled.
Root Cause:
Cron URLs changed or cron_run_jobs.php path shifted.
Resolution:
-
Update cron job to reflect new Dolibarr version path
-
Verify that
cron_run_jobs.phpis executable -
Check logs in
documents/admin/cronjobs.log
13. Analyzing logs: Where to Look and What to Watch
Key locations:
-
htdocs/conf/conf.php→ database and debug settings -
htdocs/logs/(if enabled) -
Apache/Nginx error logs
-
documents/admin/system.log -
Browser console for JS errors
Enable $dolibarr_main_prod = 0; in conf.php for verbose error output (for debugging only).
14. Tools and Scripts to Aid in Troubleshooting
-
dolibarr_dev_toolsGitHub repository -
Admin tools: Database integrity checker
-
SQL diff tools (e.g., MySQL Workbench)
-
File comparison:
diff, Meld, Beyond Compare
15. Rolling Back Safely from a Failed Upgrade
-
Restore from your pre-upgrade database backup
-
Revert file system from the zipped Dolibarr directory
-
Disable all non-core modules
-
Use version control for config and module files
Always test rollback strategy in staging before applying to production.
16. Lessons Learned and Preventive Strategies
-
Never upgrade directly on production without testing
-
Automate backups and restore processes
-
Maintain documentation of installed modules and their versions
-
Read Dolibarr changelogs and forum threads before upgrading
-
Subscribe to Dolibarr release updates for early warnings
17. Community and Professional Support Resources
-
Dolibarr GitHub Issues: https://github.com/Dolibarr/dolibarr/issues
-
Dolibarr Forums: https://www.dolibarr.org/forum/
-
IRC/Matrix Channels
-
Professional Dolibarr integrators and support partners
18. Conclusion
Dolibarr upgrades can be challenging, especially when environments are heavily customized. However, with proper planning, knowledge of common pitfalls, and structured troubleshooting, most errors can be resolved quickly and safely. This guide equips you with practical case-based insights and actionable steps to ensure that your next upgrade is smooth and stress-free.
