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. ![]()
The Basics
- Nextcloud Server version (e.g., 29.x.x):
31.0.6
- Operating system and version (e.g., Ubuntu 24.04):
Debian 12.10
- Web server and version (e.g, Apache 2.4.25):
Apache 2.4.62
- Reverse proxy and version _(e.g. nginx 1.27.2)
nginx 1.28.0
- PHP version (e.g, 8.3):
8.4.10
- Is this the first time you’ve seen this error? (Yes / No):
Yes
- When did this problem seem to first start?
Today. When trying to update
- Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
Archive, extracted
- Are you using CloudfIare, mod_security, or similar? (Yes / No)
No
Summary of the issue you are facing:
I am attempting to update NextCloud server from 31.0.6 to 31.0.7 but when I try via the WebUI, it was giving an error but no details.
Can’t get back into webUI due to “Update in Progress” message.
So I went into the terminal and ran:
/opt/plesk/php/8.4/bin/php updater/updater.phar
and it produces the following:
user@web:~/files.DOMAIN$ /opt/plesk/php/8.4/bin/php updater/updater.phar
Nextcloud Updater - version: v31.0.6rc1-10-g7612ac1 dirty
Current version is 31.0.6.
Update to Nextcloud 31.0.7 available. (channel: "stable")
Following file will be downloaded automatically: https://download.nextcloud.com/server/releases/nextcloud-31.0.7.zip
Open changelog ↗
Steps that will be executed:
[ ] Check for expected files
[ ] Check for write permissions
[ ] Create backup
[ ] Downloading
[ ] Verify integrity
[ ] Extracting
[ ] Enable maintenance mode
[ ] Replace entry points
[ ] Delete old files
[ ] Move new files in place
[ ] Done
Start update? [y/N] Y
Info: Pressing Ctrl-C will finish the currently running step and then stops the updater.
[✔] Check for expected files
[✔] Check for write permissions
[✔] Create backup
[✔] Downloading
[✔] Verify integrity
[ ] Extracting ...PHP Warning: require(/var/www/vhosts/DOMAIN/files.DOMAIN/updater/../version.php): Failed to open stream: No such file or directory in phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/lib/Updater.php on line 684
PHP Fatal error: Uncaught Error: Failed opening required '/var/www/vhosts/DOMAIN/files.DOMAIN/updater/../version.php' (include_path='.:/opt/plesk/php/8.4/share/pear') in phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/lib/Updater.php:684
Stack trace:
#0 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/lib/Updater.php(729): NC\Updater\Updater->getVersionByVersionFile()
#1 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/lib/UpdateCommand.php(369): NC\Updater\Updater->extractDownload()
#2 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/lib/UpdateCommand.php(222): NC\Updater\UpdateCommand->executeStep()
#3 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/vendor/symfony/console/Command/Command.php(298): NC\Updater\UpdateCommand->execute()
#4 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run()
#5 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#6 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#7 phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/updater.php(17): Symfony\Component\Console\Application->run()
#8 /var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar(14): require('...')
#9 {main}
thrown in phar:///var/www/vhosts/DOMAIN/files.DOMAIN/updater/updater.phar/lib/Updater.php on line 684
Additionally, occ is missing:
user@web:~/files.DOMAIN/config$ /opt/plesk/php/8.4/bin/php occ config:list system
Could not open input file: occ
Steps to replicate it (hint: details matter!):
cdto the folder where NextCloud is:/var/www/DOMAIN/files.DOMAIN/- Run
/opt/plesk/php/8.4/bin/php updater/updater.phar - Press
Yto start the update.
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.
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' => '[redacted]',
'passwordsalt' => '[redacted]',
'secret' => '[redacted]',
'trusted_domains' =>
array (
0 => 'files.DOMAIN',
),
'datadirectory' => '/var/www/vhosts/DOMAIN/files.DOMAIN/data',
'dbtype' => 'mysql',
'version' => '31.0.6.2',
'overwrite.cli.url' => 'https://files.DOMAIN',
'installed' => true,
'theme' => '',
'loglevel' => 0,
'maintenance' => true,
'maintenance_window_start' => 1,
'default_phone_region' => 'IE',
'twofactor_enforced' => 'true',
'twofactor_enforced_groups' =>
array (
0 => 'admin',
),
'twofactor_enforced_excluded_groups' =>
array (
),
'updater.secret' => '[redacted]',
'mail_smtpmode' => 'smtp',
'mail_smtpauth' => 1,
'mail_sendmailmode' => 'smtp',
'mail_from_address' => 'files',
'mail_domain' => 'mg.DOMAIN',
'mail_smtphost' => 'smtp.eu.mailgun.org',
'mail_smtpport' => '587',
'mail_smtpname' => 'files@mg.DOMAIN',
'mail_smtppassword' => '[redacted]',
'mysql.utf8mb4' => true,
'app_install_overwrite' =>
array (
),
'dbname' => '[redacted]',
'dbhost' => '[redacted]',
'dbuser' => '[redacted]',
'dbpassword' => '[redacted]',
);
Apps
The output of occ app:list (if possible).
Tips for increasing the likelihood of a response
- Use the
preformatted textformatting 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.
Any help would be appreciated ![]()