Situation
when i start openemr instance under docker, or sql_upgrade, i get the error
PHP Fatal error: Uncaught Error: Class “Doctrine\DBAL\DriverManager” not found in /var/www/localhost/htdocs/openemr/src/BC/DatabaseConnectionFactory.php:
This happened after i did ‘git pull upstream master’ - which I’d previously done in the middle of last week.
i’m thinking maybe i’ll need to do a completely fresh download of openemr?
i have been updating my current version for quite some years.
OpenEMR Version
I’m using OpenEMR version 8.0.?-dev (can’t remember if it’s .3 or .4)
Browser:
I’m using: firefox or chromium
Operating System
I’m using: ubuntu 24.04.3 LTS
Search
Did you search the forum for similar questions? yes
Logs
[Mon Mar 16 10:49:27.888611 2026] [php:error] [pid 137:tid 137] [client 172.18.0.1:58862] PHP Fatal error: Uncaught Error: Class "Doctrine\\DBAL\\DriverManager" not found in /var/www/localhost/htdocs/openemr/src/BC/DatabaseConnectionFactory.php:83\nStack trace:\n#0 /var/www/localhost/htdocs/openemr/src/Common/Logging/EventAuditLogger.php(46): OpenEMR\\BC\\DatabaseConnectionFactory::createDbal()\n#1 /var/www/localhost/htdocs/openemr/src/Core/Traits/SingletonTrait.php(44): OpenEMR\\Common\\Logging\\EventAuditLogger::createInstance()\n#2 /var/www/localhost/htdocs/openemr/library/ADODB_mysqli_log.php(50): OpenEMR\\Common\\Logging\\EventAuditLogger::getInstance()\n#3 /var/www/localhost/htdocs/openemr/src/Common/Database/QueryUtils.php(216): ADODB_mysqli_log->Execute()\n#4 /var/www/localhost/htdocs/openemr/src/Common/Database/QueryUtils.php(425): OpenEMR\\Common\\Database\\QueryUtils::sqlStatementThrowException()\n#5 /var/www/localhost/htdocs/openemr/library/sql.inc.php(262): OpenEMR\\Common\\Database\\QueryUtils::querySingleRow()\n#6 /var/www/localhost/htdocs/openemr/library/translation.inc.php(231): sqlQuery()\n#7 /var/www/localhost/htdocs/openemr/interface/globals.php(576): getLanguageDir()\n#8 /var/www/localhost/htdocs/openemr/interface/login/login.php(51): require_once('...')\n#9 {main}\n thrown in /var/www/localhost/htdocs/openemr/src/BC/DatabaseConnectionFactory.php on line 83
```
Try a composer install inside of Docker, or perhaps a docker compose up --build which should trigger it. It should happen automatically but the volume mounts can get a little funky (there are some open issues on Github mentioning the volumes)
i tried the ‘docker compose up –build’ - but this gave a similar result.
failed with
Error code: 500 Internal Server Error
The logs are
[Tue Mar 17 19:44:26.272553 2026] [ssl:warn] [pid 1:tid 1] AH01906: 172.18.0.8:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Mar 17 19:44:26.272562 2026] [ssl:warn] [pid 1:tid 1] AH01909: 172.18.0.8:443:0 server certificate does NOT include an ID which matches the server name
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.18.0.8. Set the 'ServerName' directive globally to suppress this message
[Tue Mar 17 19:44:26.372399 2026] [lbmethod_heartbeat:notice] [pid 1:tid 1] AH02282: No slotmem from mod_heartmonitor
[Tue Mar 17 19:44:26.373779 2026] [ssl:warn] [pid 1:tid 1] AH01906: 172.18.0.8:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Tue Mar 17 19:44:26.373787 2026] [ssl:warn] [pid 1:tid 1] AH01909: 172.18.0.8:443:0 server certificate does NOT include an ID which matches the server name
[Tue Mar 17 19:44:26.476115 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.65 (Unix) OpenSSL/3.5.2 configured -- resuming normal operations
[Tue Mar 17 19:44:26.476145 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Tue Mar 17 19:44:39.306576 2026] [php:error] [pid 169:tid 169] [client 172.18.0.1:48154] PHP Fatal error: Uncaught Error: Class "Doctrine\\DBAL\\DriverManager" not found in /var/www/localhost/htdocs/openemr/src/BC/DatabaseConnectionFactory.php:83\nStack trace:\n#0 /var/www/localhost/htdocs/openemr/src/Common/Logging/EventAuditLogger.php(43): OpenEMR\\BC\\DatabaseConnectionFactory::createDbal()\n#1 /var/www/localhost/htdocs/openemr/src/Core/Traits/SingletonTrait.php(44): OpenEMR\\Common\\Logging\\EventAuditLogger::createInstance()\n#2 /var/www/localhost/htdocs/openemr/library/ADODB_mysqli_log.php(50): OpenEMR\\Common\\Logging\\EventAuditLogger::getInstance()\n#3 /var/www/localhost/htdocs/openemr/src/Common/Database/QueryUtils.php(216): ADODB_mysqli_log->Execute()\n#4 /var/www/localhost/htdocs/openemr/src/Common/Database/QueryUtils.php(425): OpenEMR\\Common\\Database\\QueryUtils::sqlStatementThrowException()\n#5 /var/www/localhost/htdocs/openemr/library/sql.inc.php(262): OpenEMR\\Common\\Database\\QueryUtils::querySingleRow()\n#6 /var/www/localhost/htdocs/openemr/library/translation.inc.php(231): sqlQuery()\n#7 /var/www/localhost/htdocs/openemr/interface/globals.php(576): getLanguageDir()\n#8 /var/www/localhost/htdocs/openemr/interface/login/login.php(51): require_once('...')\n#9 {main}\n thrown in /var/www/localhost/htdocs/openemr/src/BC/DatabaseConnectionFactory.php on line 83
I’m not sure what is meant by doing a ‘composer install inside of Docker’ - i should try that maybe? would you be able give more more detailed instructions? or would this be docker composer install ?
docker compose exec openemr sh -c "cd /var/www/localhost/htdocs/openemr && composer install" will probably work if the container is already running. I use the development-easy setup with a couple of local tweaks.
Can you let me know what docker setup you’re using? There are a few different paths and I think they have slightly different ways to resolve this, if the above command doesn’t do it for you.