Errors following trixie update

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 33.02
  • Operating system and version (e.g., Ubuntu 24.04):
    • debian 13
  • Web server and version (e.g, Apache 2.4.25):
    • nginx 1.69
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • nginx 1.69
  • PHP version (e.g, 8.3):
    • 8.4
  • Is this the first time you’ve seen this error? (Yes / No):
    • Yes
  • When did this problem seem to first start?
    • After updating to debian 13 + trying to fix issues
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • command line? (not sure to understand the question)
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • No

Summary of the issue you are facing:

History of what I did:

  • Updating to Trixie
  • First issue : nginx error, not connecting.
    • solved by updating “8.2” to “8.4” in the nginx config.
  • Second issue : `Memcache OC\Memcache\Redis not available for distributed cache (Is the matching PHP module installed and enabled?)`
    • solved by installing `php8-pgsql` (which somehow was absent??)
  • Current issue : Internal Server Error when trying to connect + any command beginning with `sudo -u www-data php /var/www/nextcloud/occ` will answer an error :
An unhandled exception has been thrown:
TypeError: OC\Log\LogFactory::get(): Argument #1 ($type) must be of type string, array given, called in /var/www/nextcloud/lib/private/Server.php on line 676 and defined in /var/www/nextcloud/lib/private/Log/LogFactory.php:26
Stack trace:
#0 /var/www/nextcloud/lib/private/Server.php(676): OC\Log\LogFactory->get()
#1 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(186): OC\Server->{closure:OC\Server::__construct():673}()
#2 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->{closure:OC\AppFramework\Utility\SimpleContainer::registerService():185}()
#3 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(149): Pimple\Container->offsetGet()
#4 /var/www/nextcloud/lib/private/ServerContainer.php(155): OC\AppFramework\Utility\SimpleContainer->query()
#5 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(95): OC\ServerContainer->query()
#6 [internal function]: OC\AppFramework\Utility\SimpleContainer->{closure:OC\AppFramework\Utility\SimpleContainer::buildClassConstructorParameters():82}()
#7 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(82): array_map()
#8 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(71): OC\AppFramework\Utility\SimpleContainer->buildClassConstructorParameters()
#9 /var/www/nextcloud/lib/private/Log/PsrLoggerAdapter.php(44): OC\AppFramework\Utility\SimpleContainer->{closure:OC\AppFramework\Utility\SimpleContainer::buildClass():69}()
#10 /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php(31): OC\Log\PsrLoggerAdapter->setEventDispatcher()
#11 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(71): OC\EventDispatcher\EventDispatcher->__construct()
#12 /var/www/nextcloud/lib/private/EventDispatcher/EventDispatcher.php(50): OC\AppFramework\Utility\SimpleContainer->{closure:OC\AppFramework\Utility\SimpleContainer::buildClass():69}()
#13 /var/www/nextcloud/lib/private/Server.php(1293): OC\EventDispatcher\EventDispatcher->addServiceListener()
#14 /var/www/nextcloud/lib/private/Server.php(1281): OC\Server->connectDispatcher()
#15 /var/www/nextcloud/lib/base.php(698): OC\Server->__construct()
#16 /var/www/nextcloud/lib/base.php(1288): OC::init()
#17 /var/www/nextcloud/console.php(32): require_once('...')
#18 /var/www/nextcloud/occ(33): require_once('...')
#19 {main}%
  • I feel like something happened with postgresql during the trixie update, but I can’t pinpoint the issue (and I’m still a bit of a newbie trying stuff that look like black magic to me…)

Steps to replicate it (hint: details matter!):

  1. Any command starting with `sudo -u www-data php /var/www/nextcloud/occ` + any try to connect to the instance through the web.

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

{"reqId":"gw9tkOEY9JC78mdmYxHn","level":0,"time":"2026-04-25T09:47:16+00:00","remoteAddr":"","user":"--","app":"serverDI","method":"","url":"--","scriptName":"/var/www/nextcloud/occ","message":"The requested alias \"OCP\\IServerContainer\" is deprecated. Please request \"Psr\\Container\\ContainerInterface\" directly. This alias will be removed in a future Nextcloud version.","userAgent":"--","version":"33.0.2.2","occ_command":["/var/www/nextcloud/occ","config:system:set"],"data":{"app":"serverDI"}}

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

N/A

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

N/A

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'blabla',
  'passwordsalt' => 'blabla',
  'secret' => 'blabla',
  'trusted_domains' => 
  array (
    0 => 'blabla.whatever',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'pgsql',
  'version' => '33.0.2.2',
  'overwrite.cli.url' => 'blabla',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'blabla',
  'dbpassword' => 'blabla',
  'installed' => true,
  'default_language' => 'fr',
  'default_locale' => 'fr_FR',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),
  'enable_previews' => true,
  'enabledPreviewProviders' => 
  array (
    0 => 'OC\\Preview\\PNG',
    1 => 'OC\\Preview\\JPEG',
    2 => 'OC\\Preview\\GIF',
    3 => 'OC\\Preview\\HEIC',
    4 => 'OC\\Preview\\BMP',
    5 => 'OC\\Preview\\XBitmap',
    6 => 'OC\\Preview\\MP3',
    7 => 'OC\\Preview\\TXT',
    8 => 'OC\\Preview\\MarkDown',
    9 => 'OC\\Preview\\Movie',
    10 => 'OC\\Preview\\MKV',
    11 => 'OC\\Preview\\MP4',
    12 => 'OC\\Preview\\AVI',
    13 => 'OC\\Preview\\PDF',
  ),
  'default_phone_region' => 'FR',
  'maintenance' => false,
  'theme' => '',
  'loglevel' => 0,
  'maintenance_window_start' => 1,
  'app_install_overwrite' => 
  array (
  ),
  'updater.secret' => 'blabla',
  'log_type' => 
  array (
    'syslog' => '',
  ),
);

Apps

The output of occ app:list (if possible).

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

Maybe just the expected syntax has been changed

You show following error:

An unhandled exception has been thrown:
TypeError: OC\Log\LogFactory::get(): Argument #1 ($type) must be of type string, array given, called in /var/www/nextcloud/lib/private/Server.php on line 676

So what is in line 676 of /var/www/nextcloud/lib/private/Server.php?

$logger = $factory->get($logType);

Not sure anything changed here. :confused:

Do you mean v30.0.2 from Nov 7, 2024? :exploding_head:

Nextcloud 30.x is End of Lfe and probably doesn’t support PHP 8.4:

When the first version of NC 30 was released, PHP 8.4 wasn’t even available…

edited : my bad, it was 33.0.2 (latest stable version), as copied in the config file. :man_facepalming:

Are you using the correct PHP version via the CLI? What does the following command return:

sudo -u www-data php -v
PHP 8.4.16 (cli) (built: Dec 18 2025 21:19:25) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.4.16, Copyright (c) Zend Technologies
with Zend OPcache v8.4.16, Copyright (c), by Zend Technologies

I think the problem lies in your config.php file. According to the error message, Nextcloud expects a string, not an array. But you have an array. Could you replace the following

  'log_type' => 
  array (
    'syslog' => '',
  ),

with this

'log_type' => 'file',

or this

'log_type' => 'syslog',

and test it again?

Ok, so this seems to help quite a bit.

  • Pros : occ seems to work with 'log_type' => 'file',
  • Cons : still Internal Server Error

Logs obtained with sudo -u www-data php /var/www/nextcloud/occ log:tail :
(sorry for poor formatting, do you have any tips to improve it?)


Level   App                 Message                                                                                     Time


Debug   no app in context   Exception: dirty table reads: SELECT * FROM *PREFIX*jobs WHERE (reserved_at <=          2026-04-25T13:25:03+00:00
:dcValue1) AND (last_checked <= :dcValue2) AND (time_sensitive = :dcValue3) ORDER BY
last_checked ASC LIMIT 1 at lib/private/DB/Connection.php line 407

                           0. lib/private/DB/ConnectionAdapter.php line 50                                                                       
                              OC\DB\Connection->executeQuery(                                                                                    
                                                                                                                                                 
                              )                                                                                                                  
                           1. .../DB/QueryBuilder/QueryBuilder.php line 268                                                                      
                              OC\DB\ConnectionAdapter->executeQuery(                                                                             
                                                                                                                                                 
                              )                                                                                                                  
                           2. .../BackgroundJob/JobList.php line 192                                                                             
                              OC\DB\QueryBuilder\QueryBuilder->executeQuery(                                                                     
                                                                                                                                                 
                              )                                                                                                                  
                           3. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                           4. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                           5. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                           6. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                           7. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                           8. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                           9. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          10. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          11. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          12. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          13. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          14. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          15. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          16. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          17. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          18. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          19. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          20. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          21. lib/private/BackgroundJob/JobList.php line 238                                                                     
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          22. core/Service/CronService.php line 161                                                                              
                              OC\BackgroundJob\JobList->getNext(                                                                                 
                                                                                                                                                 
                              )                                                                                                                  
                          23. core/Service/CronService.php line 98                                                                               
                              OC\Core\Service\CronService->runCli(                                                                               
                                                                                                                                                 
                              )                                                                                                                  
                          24. cron.php line 52                                                                                                   
                              OC\Core\Service\CronService->run(                                                                                  
                                                                                                                                                 
                              )                                                                                                                  

Debug   cron                CLI cron call has selected job OCA\Notifications\BackgroundJob\SendNotificationMails (id:   2026-04-25T13:25:03+00:00
13, arguments: null)

Debug   cron                Starting job OCA\Notifications\BackgroundJob\SendNotificationMails (id: 13, arguments:      2026-04-25T13:25:03+00:00
null)

Debug   cron                Finished job OCA\Notifications\BackgroundJob\SendNotificationMails (id: 13, arguments:      2026-04-25T13:25:03+00:00
null) in 0 seconds

Debug   no app in context   Exception: dirty table reads: SELECT * FROM *PREFIX*jobs WHERE (reserved_at <=          2026-04-25T13:25:03+00:00
:dcValue1) AND (last_checked <= :dcValue2) AND (time_sensitive = :dcValue3) ORDER BY
last_checked ASC LIMIT 1 at lib/private/DB/Connection.php line 407

                          0. lib/private/DB/ConnectionAdapter.php line 50                                                                        
                             OC\DB\Connection->executeQuery(                                                                                     
                                                                                                                                                 
                             )                                                                                                                   
                          1. .../DB/QueryBuilder/QueryBuilder.php line 268                                                                       
                             OC\DB\ConnectionAdapter->executeQuery(                                                                              
                                                                                                                                                 
                             )                                                                                                                   
                          2. .../BackgroundJob/JobList.php line 192                                                                              
                             OC\DB\QueryBuilder\QueryBuilder->executeQuery(                                                                      
                                                                                                                                                 
                             )                                                                                                                   
                          3. core/Service/CronService.php line 161                                                                               
                             OC\BackgroundJob\JobList->getNext(                                                                                  
                                                                                                                                                 
                             )                                                                                                                   
                          4. core/Service/CronService.php line 98                                                                                
                             OC\Core\Service\CronService->runCli(                                                                                
                                                                                                                                                 
                             )                                                                                                                   
                          5. cron.php line 52                                                                                                    
                             OC\Core\Service\CronService->run(                                                                                   
                                                                                                                                                 
                             )                                                                                                                   

Debug   serverDI            The requested alias “OCP\IServerContainer” is deprecated. Please 

request                    2026-04-25T13:25:38+00:00
“Psr\Container\ContainerInterface” directly. This alias will be removed in a future
Nextcloud version.

Debug   serverDI            The requested alias “OCP\IServerContainer” is deprecated. Please request                    2026-04-25T13:25:39+00:00
“Psr\Container\ContainerInterface” directly. This alias will be removed in a future
Nextcloud version.

Debug   serverDI            The requested alias “OCP\IServerContainer” is deprecated. Please request                    2026-04-25T13:25:39+00:00
“Psr\Container\ContainerInterface” directly. This alias will be removed in a future
Nextcloud version.

Debug   serverDI            The requested alias “OCP\IServerContainer” is deprecated. Please request                    2026-04-25T13:25:39+00:00
“Psr\Container\ContainerInterface” directly. This alias will be removed in a future
Nextcloud version.

Debug   serverDI            The requested alias “OCP\IServerContainer” is deprecated. Please request                    2026-04-25T13:25:39+00:00
“Psr\Container\ContainerInterface” directly. This alias will be removed in a future
Nextcloud version.

I don’t see anything unusual in your logs. I think these are just debugging messages for minor issues because you’ve set loglevel to 0. Have you configured a PHP error log?

If configured, the following command shows the path of the log file:

sudo -u www-data php -i | grep -i error_log

Can you see an error in the PHP error log?

Also check which PHP modules you have installed:

sudo -u www-data php -m

and compare with the following list: https://docs.nextcloud.com/server/33/admin_manual/installation/php_configuration.html#required-php-modules

Are there any PHP modules missing?

Well, so first of all, thanks a lot !

Then, in more detail:

  • I did not have php error log configured (although it did not help me)
  • I did check the module list before posting, and as mentionned in my initial post, pgsql was… missing ??
  • I did not check “recommanded general php modules” at that time, thinking it was “recommanded” and not mandatory
  • I did check it this time, and installed missing apcu
  • It looks like it solved everything

Again, thank you very much!! :folded_hands:

apcu should actually be optional, but you’ve configured it:

and so it is no longer optional.

I’m glad it’s working now :+1: