Hello, after attempting to install/configure facial recognition modules and performing an upgrade to NC 28, my server crashed (error 500).
I’m not very tech-savvy, but I suspect a library / issue with PHP version.
NC v 28.0.14.1
Ubuntu 24.04
PHP 8.3.6
Apache/2.4.58 (Ubuntu)
Server built: 2026-03-05T17:31:54
- Is this the first time you’ve seen this error? Yes
- When did this problem seem to first start? After upgrade I think
Here is the content of the Apache2 error.log.
PHP Warning: PHP Startup: pdlib: Unable to initialize module\nModule compiled with module API=20210902\nPHP compiled with module API=20220829\nThese options need to match\n in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library ‘pdo.so’ (tried: /usr/lib/php/20220829/pdo.so (/usr/lib/php/20220829/pdo.so: undefined symbol: zend_zval_value_name), /usr/lib/php/20220829/pdo.so.so (/usr/lib/php/20220829/pdo.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0PHP Warning: PHP Startup: Unable to load dynamic library ‘pdo_mysql.so’ (tried: /usr/lib/php/20220829/pdo_mysql.so (/usr/lib/php/20220829/pdo_mysql.so: undefined symbol: pdo_parse_params), /usr/lib/php/20220829/pdo_mysql.so.so (/usr/lib/php/20220829/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0[Mon Apr 13 00:00:00.892994 2026] [ssl:warn] [pid 7093] AH01909: 127.0.1.1:443:0 server certificate does NOT include an ID which matches the server name[Mon Apr 13 00:00:00.898786 2026] [ssl:warn] [pid 7093] AH01909: homecamsvv.ddns.net:443:0 server certificate does NOT include an ID which matches the server name[Mon Apr 13 00:00:00.899610 2026] [mpm_prefork:notice] [pid 7093] AH00163: Apache/2.4.58 (Ubuntu) OpenSSL/3.0.13 configured – resuming normal operations[Mon Apr 13 00:00:00.899647 2026] [core:notice] [pid 7093] AH00094: Command line: ‘/usr/sbin/apache2’[Mon Apr 13 00:09:38.284173 2026] [php:error] [pid 27656] [client 3.151.241.153:57074] PHP Fatal error: Uncaught Error: Class “PDO” not found in /var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/MySQL/Driver.php:33\nStack trace:\n#0 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(377): Doctrine\DBAL\Driver\PDO\MySQL\Driver->connect()\n#1 /var/www/nextcloud/lib/private/DB/Connection.php(144): Doctrine\DBAL\Connection->connect()\n#2 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1654): OC\DB\Connection->connect()\n#3 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1081): Doctrine\DBAL\Connection->getWrappedConnection()\n#4 /var/www/nextcloud/lib/private/DB/Connection.php(271): Doctrine\DBAL\Connection->executeQuery()\n#5 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(337): OC\DB\Connection->executeQuery()\n#6 /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(377): Doctrine\DBAL\Query\QueryBuilder->executeQuery()\n#7 /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(280): Doctrine\DBAL\Query\QueryBuilder->execute()\n#8 /var/www/nextcloud/lib/private/AppConfig.php(440): OC\DB\QueryBuilder\QueryBuilder->execute()\n#9 /var/www/nextcloud/lib/private/AppConfig.php(206): OC\AppConfig->loadConfigValues()\n#10 /var/www/nextcloud/lib/private/AppConfig.php(396): OC\AppConfig->getApps()\n#11 /var/www/nextcloud/lib/private/legacy/OC_App.php(734): OC\AppConfig->getValues()\n#12 /var/www/nextcloud/lib/private/Server.php(683): OC_App::getAppVersions()\n#13 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()\n#14 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#15 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#16 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#17 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#18 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(197): OC\AppFramework\Utility\SimpleContainer->get()\n#19 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#20 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#21 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#22 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#23 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(96): OC\ServerContainer->query()\n#24 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#25 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(83): array_map()\n#26 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(128): OC\AppFramework\Utility\SimpleContainer->buildClass()\n#27 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(146): OC\AppFramework\Utility\SimpleContainer->resolve()\n#28 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#29 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#30 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(197): OC\AppFramework\Utility\SimpleContainer->get()\n#31 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#32 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#33 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#34 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#35 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#36 /var/www/nextcloud/lib/private/Server.php(523): OC\AppFramework\Utility\SimpleContainer->get()\n#37 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()\n#38 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#39 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#40 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#41 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#42 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(197): OC\AppFramework\Utility\SimpleContainer->get()\n#43 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#44 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#45 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#46 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#47 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#48 /var/www/nextcloud/lib/private/Server.php(1347): OC\AppFramework\Utility\SimpleContainer->get()\n#49 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()\n#50 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#51 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#52 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#53 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#54 /var/www/nextcloud/lib/private/Server.php(1239): OC\AppFramework\Utility\SimpleContainer->get()\n#55 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(175): OC\Server->OC\{closure}()\n#56 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#57 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(142): Pimple\Container->offsetGet()\n#58 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#59 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(96): OC\ServerContainer->query()\n#60 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()\n#61 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(83): array_map()\n#62 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(128): OC\AppFramework\Utility\SimpleContainer->buildClass()\n#63 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(146): OC\AppFramework\Utility\SimpleContainer->resolve()\n#64 /var/www/nextcloud/lib/private/ServerContainer.php(173): OC\AppFramework\Utility\SimpleContainer->query()\n#65 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()\n#66 /var/www/nextcloud/lib/private/Serv
Last line of netxcloud.log
{“reqId”:“Zsh8hWbdlpHo8H8qY2KX”,“level”:3,“time”:“2026-04-12T17:15:01+00:00”,“remoteAddr”:“”,“user”:“–”,“app”:“cron”,“method”:“”,“url”:“–”,“message”:“Exception thrown: Doctrine\DBAL\Exception”,“userAgent”:“–”,“version”:“28.0.14.1”,“exception”:{“Exception”:“Doctrine\DBAL\Exception”,“Message”:“Failed to connect to the database: An exception occurred in the driver: could not find driver”,“Code”:0,“Trace”:[{“file”:“/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php”,“line”:1654,“function”:“connect”,“class”:“OC\DB\Connection”,“type”:“->”},{“file”:“/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php”,“line”:1081,“function”:“getWrappedConnection”,“class”:“Doctrine\DBAL\Connection”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/DB/Connection.php”,“line”:271,“function”:“executeQuery”,“class”:“Doctrine\DBAL\Connection”,“type”:“->”},{“file”:“/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php”,“line”:337,“function”:“executeQuery”,“class”:“OC\DB\Connection”,“type”:“->”},{“file”:“/var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php”,“line”:377,“function”:“executeQuery”,“class”:“Doctrine\DBAL\Query\QueryBuilder”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php”,“line”:280,“function”:“execute”,“class”:“Doctrine\DBAL\Query\QueryBuilder”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/AppConfig.php”,“line”:440,“function”:“execute”,“class”:“OC\DB\QueryBuilder\QueryBuilder”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/AppConfig.php”,“line”:206,“function”:“loadConfigValues”,“class”:“OC\AppConfig”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/AppConfig.php”,“line”:396,“function”:“getApps”,“class”:“OC\AppConfig”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/App/AppManager.php”,“line”:128,“function”:“getValues”,“class”:“OC\AppConfig”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/App/AppManager.php”,“line”:149,“function”:“getInstalledAppsValues”,“class”:“OC\App\AppManager”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/legacy/OC_App.php”,“line”:231,“function”:“getInstalledApps”,“class”:“OC\App\AppManager”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php”,“line”:90,“function”:“getEnabledApps”,“class”:“OC_App”,“type”:“::”},{“file”:“/var/www/nextcloud/lib/base.php”,“line”:700,“function”:“runInitialRegistration”,“class”:“OC\AppFramework\Bootstrap\Coordinator”,“type”:“->”},{“file”:“/var/www/nextcloud/lib/base.php”,“line”:1200,“function”:“init”,“class”:“OC”,“type”:“::”},{“file”:“/var/www/nextcloud/cron.php”,“line”:43,“args”:[“/var/www/nextcloud/lib/base.php”],“function”:“require_once”}],“File”:“/var/www/nextcloud/lib/private/DB/Connection.php”,“Line”:150,“CustomMessage”:“Exception thrown: Doctrine\DBAL\Exception”}}
When I try to put the server into maintenance mode, I get this message.
root@victor-NAS:/var/www/nextcloud# sudo -u www-data php occ maintenance:mode --on
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache OC\Memcache\Redis not available for local cache (Is the matching PHP module installed and enabled?)
I also tried installing APCU (for php cache management) but it did not solve this problem.
I’d rather not have to reinstall everything. Thank you for your help.