No Clients can log in after update. Browser login works just fine 34.0.4

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.

If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.

Getting help

In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.

Before clicking submit: Please check if your query is already addressed via the following resources:

(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 35.0.1
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 24.04
  • Web server and version (e.g, Apache 2.4.25):
    • 2.4.52
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • 1.21.4.3
  • PHP version (e.g, 8.3):
    • 8.3
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • after update to nextcloud 34.0.4
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • Bare Metal
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • yes nginx

Summary of the issue you are facing:

After the update of the Nextcloud Server from 33.x.x to 34.0.4 Clients could not login anymore. No IOS, macOS. different Clients from different places. Browser error message: “Access denied by the server. To check whether you have the required permissions, open the service in your browser.”
nextcloud protocol: InvalidTokenExceptionToken does not exist: token does not exist Could not find the session token to renew

Client authentication succeeds when starting the macOS client by typing the url - the browser opens, user credentials, access granted “you can close this window”

curl -I “http://localhost/index.php/login/v2/flow”

result: HTTP/1.1 404 Not Found

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

  1. empty caches, check redis, checked nginx headers, checked config.php,

  2. nextcloud upgrade 35.0.1

  3. nextcloud new install

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.

root@Nextcloud:/var/www/nextcloud# sudo cat /var/www/nextcloud/data/nextcloud.log | tail -25
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Starting job OCA\\Files\\BackgroundJob\\ScanFiles (id: 4, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Finished job OCA\\Files\\BackgroundJob\\ScanFiles (id: 4, arguments: null) in 0 seconds","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"CLI cron call has selected job OCA\\Files\\BackgroundJob\\CleanupFileLocks (id: 6, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Starting job OCA\\Files\\BackgroundJob\\CleanupFileLocks (id: 6, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Finished job OCA\\Files\\BackgroundJob\\CleanupFileLocks (id: 6, arguments: null) in 0 seconds","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"CLI cron call has selected job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 21, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Starting job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 21, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":1,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"The app config key dav/sendEventReminders is not defined in the config lexicon","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":[]}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":1,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"The app config key dav/sendEventRemindersMode is not defined in the config lexicon","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":[]}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"dav","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"0 reminders to process","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"dav"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Finished job OCA\\DAV\\BackgroundJob\\EventReminderJob (id: 21, arguments: null) in 0 seconds","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"CLI cron call has selected job OCA\\Support\\BackgroundJobs\\CheckSubscription (id: 24, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Starting job OCA\\Support\\BackgroundJobs\\CheckSubscription (id: 24, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"support","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"The loading of lazy AppConfig values have been triggered by app \"support\"","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"RuntimeException","Message":"The loading of lazy AppConfig values have been triggered by app \"support\"","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/AppConfig.php","line":529,"function":"loadConfig","class":"OC\\AppConfig","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppConfig.php","line":490,"function":"getTypedValue","class":"OC\\AppConfig","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/Service/SubscriptionService.php","line":277,"function":"getValueArray","class":"OC\\AppConfig","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/Service/SubscriptionService.php","line":249,"function":"getLastResponseSubscriptionInfo","class":"OCA\\Support\\Service\\SubscriptionService","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/Service/SubscriptionService.php","line":302,"function":"getSubscriptionInfo","class":"OCA\\Support\\Service\\SubscriptionService","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/BackgroundJobs/CheckSubscription.php","line":33,"function":"checkSubscription","class":"OCA\\Support\\Service\\SubscriptionService","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/Job.php","line":51,"function":"run","class":"OCA\\Support\\BackgroundJobs\\CheckSubscription","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":87,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/AppConfig.php","Line":1386,"message":"The loading of lazy AppConfig values have been triggered by app \"support\"","CustomMessage":"The loading of lazy AppConfig values have been triggered by app \"support\""}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppConfig.php","line":1426,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppConfig.php","line":529,"function":"loadConfig","class":"OC\\AppConfig","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppConfig.php","line":490,"function":"getTypedValue","class":"OC\\AppConfig","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/Service/SubscriptionService.php","line":277,"function":"getValueArray","class":"OC\\AppConfig","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/Service/SubscriptionService.php","line":249,"function":"getLastResponseSubscriptionInfo","class":"OCA\\Support\\Service\\SubscriptionService","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/Service/SubscriptionService.php","line":302,"function":"getSubscriptionInfo","class":"OCA\\Support\\Service\\SubscriptionService","type":"->"},{"file":"/var/www/nextcloud/apps/support/lib/BackgroundJobs/CheckSubscription.php","line":33,"function":"checkSubscription","class":"OCA\\Support\\Service\\SubscriptionService","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/Job.php","line":51,"function":"run","class":"OCA\\Support\\BackgroundJobs\\CheckSubscription","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":87,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":204,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_appconfig\"]","CustomMessage":"dirty table reads: SELECT `appid`, `configkey`, `configvalue`, `type`, `lazy` FROM `*PREFIX*appconfig` WHERE `lazy` = :dcValue1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"Finished job OCA\\Support\\BackgroundJobs\\CheckSubscription (id: 24, arguments: null) in 0 seconds","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":242,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":242,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":242,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":242,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":242,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":242,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"cron","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"CLI cron call has selected job OCA\\Files\\BackgroundJob\\CleanupDirectEditingTokens (id: 7, arguments: null)","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"data":{"app":"cron"}}
{"reqId":"i0uoxDJJQRwrpC88FtIU","level":0,"time":"2026-09-25T18:40:02+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","scriptName":"/var/www/nextcloud/cron.php","message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","userAgent":"--","version":"35.0.1.1","occ_command":["/var/www/nextcloud/cron.php"],"exception":{"Exception":"Exception","Message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":58,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":262,"function":"executeQuery","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/BackgroundJob/JobList.php","line":196,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":185,"function":"getNext","class":"OC\\BackgroundJob\\JobList","type":"->"},{"file":"/var/www/nextcloud/core/Service/CronService.php","line":107,"function":"runCli","class":"OC\\Core\\Service\\CronService","type":"->"},{"file":"/var/www/nextcloud/cron.php","line":52,"function":"run","class":"OC\\Core\\Service\\CronService","type":"->"}],"File":"/var/www/nextcloud/lib/private/DB/Connection.php","Line":415,"message":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1","tables":"[\"oc_appconfig\",\"oc_jobs\",\"oc_job_runs\",\"oc_comments\",\"oc_talk_proxy_messages\",\"oc_talk_internalsignaling\",\"oc_user_status\"]","reads":"[\"oc_jobs\"]","CustomMessage":"dirty table reads: SELECT * FROM `*PREFIX*jobs` WHERE (`reserved_at` <= :dcValue1) AND (`last_checked` <= :dcValue2) AND (`time_sensitive` = :dcValue3) ORDER BY `last_checked` ASC LIMIT 1"}}

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.

PASTE

Web server / Reverse Proxy

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

PASTE HERE

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!):

PASTE HERE{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "rz.houseofmac.de",
            "cloud.sender-musik.de"
        ],
        "default_phone_region": "DE",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "35.0.1.1",
        "overwrite.cli.url": "https:\/\/rz.houseofmac.de",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "defaultapp": "",
        "maintenance_window_start": 3,
        "maintenance": false,
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 0,
        "logfile": "\/var\/www\/nextcloud\/data\/nextcloud.log",
        "filelocking.enabled": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "timeout": 0
        },
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "updater.release.channel": "beta",
        "maintenance_mode": "false",
        "updater.secret": "***REMOVED SENSITIVE VALUE***",
        "app_install_overwrite": []
    }
}

Apps

Enabled:

- activity: 8.0.0

- appstore: 2.0.0-dev.0

- bruteforcesettings: 8.0.0

- cloud_federation_api: 2.0.0-dev.0

- comments: 2.0.0-dev.0

- contactsinteraction: 2.0.0-dev.0

- dashboard: 8.0.0-dev.0

- dav: 2.0.0-dev.1

- federatedfilesharing: 2.0.0-dev.1

- federation: 2.0.0-dev.0

- files: 3.0.0-dev.0

- files_downloadlimit: 5.3.0

- files_fulltextsearch: 35.0.0

- files_lock: 35.0.0

- files_pdfviewer: 8.0.0

- files_reminders: 2.0.0-dev.0

- files_sharing: 2.0.0-dev.1

- files_trashbin: 2.0.0-dev.0

- integration_mastodon: 5.2.0

- logreader: 8.0.0

- lookup_server_connector: 2.0.0-dev.0

- notifications: 8.0.0

- notify_push: 1.4.1

- oauth2: 2.0.0-dev.0

- office: 1.1.0

- password_policy: 7.0.0

- privacy: 7.0.0

- profile: 2.0.0-dev.0

- provisioning_api: 2.0.0-dev.0

- recommendations: 8.0.0

- related_resources: 6.0.0

- settings: 2.0.0-dev.0

- sharebymail: 2.0.0-dev.0

- sharing: 1.0.4

- spreed: 25.0.2

- support: 7.0.0

- survey_client: 7.0.0

- systemtags: 2.0.0-dev.0

- text: 9.0.0

- theming: 3.0.0-dev.0

- twofactor_backupcodes: 2.0.0-dev.0

- twofactor_totp: 17.1.0

- updatenotification: 2.0.0-dev.0

- user_status: 2.0.0-dev.0

- viewer: 8.0.0

- webhook_listeners: 2.0.0-dev.0

- workflowengine: 3.0.0-dev.0

Disabled:

- admin_audit: 2.0.0-dev.0

- app_api: 35.0.0 (installed 32.0.0)

- calendar: 6.6.1 (installed 6.6.1)

- circles: 35.0.0 (installed 30.0.0)

- contacts: 8.9.0 (installed 8.9.0)

- encryption: 3.0.0-dev.0

- files_antivirus: 6.4.1 (installed 6.4.1)

- files_external: 2.0.0-dev.0

- files_versions: 2.0.0-dev.0 (installed 1.22.0)

- firstrunwizard: 8.0.0 (installed 2.18.0)

- nextcloud_announcements: 7.0.0 (installed 1.18.0)

- notes: 6.1.0 (installed 6.1.0)

- photos: 8.0.0 (installed 2.5.0)

- serverinfo: 7.0.0 (installed 7.0.0)

- suspicious_login: 13.0.0

- twofactor_nextcloud_notification: 9.0.0

- user_ldap: 2.0.0-dev.0

- weather_status: 2.0.0-dev.0 (installed 1.9.0)

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.

How did you deploy the update?

None of your log entries match the one you referenced. Please turn log level back down to something reasonable (2) and find the actual log entry and post it and a few from just before it too.

You appear to have upgraded not just to v34 but to v35. But the problem started when you updated to v34? Is that accurate?

Is there a reason you have your config set to use the beta channel? That will install unstable apps…

Hi, thank you for your reply!

I deployed the update via the gui - so Nexcloud / Administration / Overview.

logs: yeah, my post is the result of an extended period of trying to fix the problem. In the meantime I reached the point of v35 and beta. The problem started with v34.0.4 correct.

what logs can I generate? and how exactly? I’m not totally fluent with log analytics.

I updated a working configuration with v33 and after two days of troubleshooting I guest that it could be a bug in v34.

Summary: Root Cause and Solution

Root cause

The server had two PHP versions installed side by side: PHP 8.3 (the one Nextcloud actually uses) and PHP 8.4. On top of that, the Apache virtual host configuration was inconsistent:

File PHP version Status
nextcloud.conf (port 80) PHP 8.3 not enabled at all
nextcloud-le-ssl.conf (port 443) PHP 8.4 the only active Nextcloud config

Since all traffic arrives via HTTPS, every PHP request was sent to the PHP 8.4 FPM socket. This produced a whole chain of errors:

  1. Session problems – different PHP-FPM versions created inconsistent sessions; the Nextcloud log showed this as HMAC does not match and Session token is invalid

  2. 403 on password confirmation – the CSRF/session token could not be validated when creating an app password (POST .../authtokens → 403).

  3. DAV clients stopped working – the Authorization header was not forwarded from Apache/PHP-FPM to PHP (No Authorization Basic header found ... server is misconfigured)

  4. 503 Service Unavailable as soon as PHP 8.4 was stopped – the active config still pointed to the dead 8.4 socket.

  5. Primary script unknown errors in the Apache log as a consequence of the wrong socket references.

The solution

In /etc/apache2/sites-enabled/nextcloud-le-ssl.conf (the only active config):

text

# 1. Point all socket references to PHP 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>

# 2. Remove the duplicate PHP handling
# (ProxyPassMatch commented out – keep only SetHandler)

# 3. Forward the Authorization header to PHP (inside <Directory>!)
<Directory /var/www/nextcloud/>
...
CGIPassAuth On
...
</Directory>

Plus:

bash

# Switch socket to 8.3 (all occurrences)
sudo sed -i 's/php8\.4-fpm\.sock/php8.3-fpm.sock/g' /etc/apache2/sites-available/nextcloud-le-ssl.conf

# Permanently shut down PHP 8.4
sudo systemctl stop php8.4-fpm
sudo systemctl disable php8.4-fpm

# Validate configuration and restart services
sudo apache2ctl configtest # must return "Syntax OK"
sudo systemctl restart php8.3-fpm apache2

Verified prerequisites

  • conf-enabled/ contained no global PHP configs that could have overridden the vhost

  • The socket /run/php/php8.3-fpm.sock existed with correct ownership (www-data:www-data)

  • Nextcloud core config (trusted_domains, overwrite.cli.url, trusted_proxies) was already correct

After this, everything worked again: web login, app passwords, desktop/mobile clients, and Talk. One follow-up recommendation: cleanly remove the PHP 8.4 packages at some point (apt remove php8.4*) so future updates can’t create another confusing FPM instance.