Internal servor Error 500 after upgrade to NC28 and Memcache Redis error for maintenance

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

  1. Is this the first time you’ve seen this error? Yes
  2. 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.

This look mostly like PHP environment errors. Did you perhaps upgrade PHP or your OS?

p.s. We can’t be of much help if you don’t fill out the support template that you seem to have deleted from your post.

Thank’s for your reply. Yes I recently upgrade from ubuntu 22 to 24.04.

I will update my post with the required informations listed on the template

Hello,

I had the same problem when I updated my Raspberry Pi OS from 12 Bookworm to 13 Trixie and Nextcloud from 32 to 33.

I’ve found that the problem was cause by the redis secret key. I commented out it in the redis configuration file and in the Nextcloud configuration file.

And it’s working.

I haven’t had any free time to figure out how to enable it again.

Thank’s for your reply.

Can you be more specific.

I have a file named redis.conf but it seems to be an example

I have the following lines in config.php related to redis

‘redis’ =>
array (
‘host’ => ‘/var/run/redis/redis-server.sock’,
‘port’ => ‘0’,
‘timeout’ => ‘0.0’,
),
‘memcache.distributed’ => ‘\OC\Memcache\Redis’,
‘memcache.local’ => ‘\OC\Memcache\Redis’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,

In the Nextcloud configuration file, in the redis array I had a password line

And in the /etc/redis/redis.conf I had a requirepass line with the same password.