Nextcloud version: 15.0.7 (On the stable release cycle)
Operating system and version: Linux (shared hosting - distibution not certain - Debian I think)
Apache or nginx version: Apache (shared hosting - version not available to me)
PHP version: 7.2
The issue you are facing: Updating to version 16.0.1. When using the web based updater step 5 fails with the error: Verifying integrity - Parsing response failed.
Is this the first time you’ve seen this error?: Y
Steps to replicate it:
- Go to Settings / Overview / Open updater
- Installation fails at step 5 - as described above
The output of your Nextcloud log in Admin > Logging:
Error PHP opendir(/tmp): failed to open dir: Permission denied at /home/site/www/cloud/lib/private/TempManager.php#190
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!): I don’t have a /path/to/nextcloud/config.php file. I do have a /path/to/nextcloud/config/config.php file but much of the information in is stuff I would prefer not to publish. Let me know if there are particular lines I should post.
The output of your Apache/nginx/system log in: not available - shared hosting
Extra information:
Line 190 of the file refered to in the error log file reads:
$dh = opendir($this->tmpBaseDir);
The code line 190 is part of is here:
/**
* Get all temporary files and folders generated by oc older than an hour
*
* @return string[]
*/
protected function getOldFiles() {
$cutOfTime = time() - 3600;
$files = [];
$dh = opendir($this->tmpBaseDir);
if ($dh) {
while (($file = readdir($dh)) !== false) {
if (substr($file, 0, 7) === self::TMP_PREFIX) {
$path = $this->tmpBaseDir . '/' . $file;
$mtime = filemtime($path);
if ($mtime < $cutOfTime) {
$files[] = $path;
}
}
}
}
return $files;
}
I do not have a ‘tmp’ folder at the root level of my site. If I create a ‘tmp’ folder at the root level it causes an ‘unexpected folder’ error in the installer at step 2.
I tried adding 'integrity.check.disabled' => true
to /config/config.php and re-running the updater but got the same error. It might be worth noting that there was not a line that read 'integrity.check.disabled' => false
in the config file before I did this. I’m not sure if there should be?
Any suggestions will be gratefully received.