This version of Nextcloud is not compatible with > PHP 8.0. You are currently running 8.1.10

Okay, I probably did a lot of stupid things today, I was in a kind of rush and was not really thinking and now I am a bit lost.
I was upgrading my nextcloud from 23.0.9 to 23.0.10 within a nextcloudpi docker. But it completely failed, whatever I did I could not get it to work. The I removed the image and downloaded a new docker image.
Now I get this when I open my page
This version of Nextcloud is not compatible with > PHP 8.0.
You are currently running 8.1.10.

config.php
?php
$CONFIG = array (
‘passwordsalt’ => ‘XXXXX’,
‘secret’ => ‘XXXXX’,
‘trusted_domains’ =>
array (
0 => ‘localhost’,
1 =>
),
‘datadirectory’ => ‘/data/nextcloud/data’,
‘overwrite.cli.url’ => ‘https://XXX.duckdns.org/’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘23.0.10.1’,
‘dbname’ => ‘nextcloud’,
‘dbhost’ => ‘localhost’,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘oc_’,
‘mysql.utf8mb4’ => true,
‘dbuser’ => ‘ncadmin’,
‘dbpassword’ => ‘XXX’,
‘installed’ => true,
‘instanceid’ => ‘oc6ato6252xl’,
‘overwriteprotocol’ => ‘https’,
‘maintenance’ => false,
‘theme’ => ‘’,
‘loglevel’ => 0,
‘updater.release.channel’ => ‘stable’,
‘logfile’ => ‘/data/nextcloud/data/nextcloud.log’,
‘log_type’ => ‘file’,
‘htaccess.RewriteBase’ => ‘/’,
‘data-fingerprint’ => ‘’,
‘jpeg_quality’ => ‘60’,
‘app_install_overwrite’ =>
array (
0 => ‘announcementcenter’,
),
‘mail_smtpmode’ => ‘smtp’,
‘mail_smtpsecure’ => ‘tls’,
‘mail_sendmailmode’ => ‘smtp’,
‘mail_from_address’ => ‘XXXX’,
‘mail_domain’ => ‘XXXX’,
‘mail_smtpauthtype’ => ‘LOGIN’,
‘mail_smtpauth’ => 1,
‘mail_smtphost’ => ‘XXXX’,
‘mail_smtpname’ => ‘XXX’,
‘mail_smtppassword’ => ‘XXXX’,
‘mail_smtpport’ => ‘587’,
‘encryption.key_storage_migrated’ => false,
‘trusted_proxies’ =>
array (
11 => ‘127.0.0.1’,
12 => ‘::1’,
13 => ‘XXXX.duckdns.org’,
14 => ‘3’,
),
‘updater.secret’ => ‘XX’,

version.php
root@server:/home/jasper/nextcloud/nextcloud# cat version.php

<?php $OC_Version = array(23,0,10,1); $OC_VersionString = '23.0.10'; $OC_Edition = ''; $OC_Channel = 'stable'; $OC_VersionCanBeUpgradedFrom = array ( 'nextcloud' => array ( '22.2' => true, '23.0' => true, ), 'owncloud' => array ( '10.5' => true, ), ); $OC_Build = '2022-10-06T09:05:14+00:00 2b53bf2b1e40de416e98354b7ad29af668e728c0'; $vendor = 'nextcloud';

We no longer recommend manually updating NextcloudPi when using Docker. Instead, please follow the ncp image release cycle, which we are attempting to make more consistent.

1 Like

I just updated/pulled latest container, and exactly got this error. So its not a manual update, but pulling latest container.
Looks like latest container is no longer working?!?
ncp admin interface is still working.
Nextcloud check: error
HPB service: down
This is with container version v1.50.2
Going back to version v1.48.3 solved it for now for me.
// edit. Just as clarification, I’m running nextcloudpi container.
// ownyourbits/nextcloudpi-armhf:v1.48.3
// edit 2: Still not working. Now on clean v1.50.2 install and reverting from backup.
// edit 3: after restore I get the PHP version problem back. Any way te skip that part, or revert the php back? Guess thta is part of bin folder that is also outside container?

You will need to use an older docker image to upgrade nextcloud (to version 24.X.X). Then you can update NCP to the latest docker image

1 Like

Yeah, trying to figure out how to do that. Already tried downgrading php after a restore inside a 1.50.2 container. But some files are also restored with php8 information. Crazy if you think about it! You would think a backup only contained information relevant to your data, and is independat of the O.S.
Problem is that inside the backup there are already some version dependant files that think I have higher version of php installed.
If I start with clean 1.50.2 there is no longer a problem. Now only thing left is how to create a new 1.50.2 container, with my old data.

Done so far:

  1. create new 1.50.2 container (new fresh external folders)
  2. resote old backup
  3. sudo apt remove php8*
  4. sudo apt install php7.4-fpm php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip php7.4-cli php7.4-common php7.4-imagick php7.4-opcache php7.4-phpdbg php7.4-readline
  5. sudo a2enmod proxy_fcgi setenvif
  6. sudo a2enconf php7.4-fpm
  7. sudo service apache2 restart
  8. sudo apt install nano
  9. sudo nano /usr/local/etc/ncp.cfg
  10. → edit php version to 7.4
  11. nano /data/nextcloud/config/config.php
  12. → add an # before: ‘memcache.local’ => ‘\OC\Memcache\APCu’,
  13. restart docker containerHope I got it correct.

I edited this message a lot with my progress. Have to do a double check if this is final procedure or if I missed something I did.

// edit 4: I re-pulled clean docker image to verify if it would still work if I would pull a newer version container. It is NOT working after clean pull. Again it complains about php8. WTH?!? Still something in one of my config files that is re-enabled after a fresh pull? Why does it update to php8 in fresh ontainer with my old restored backup?

I have the same type of error message but I come from a different situation.
I ran a RPI with NC23.0.2.1 but it died. Yet I have a backup, so no problem.
I installed a clean raspbian bullseye, ran the curl installer and try to restore the backup.
The curl installer installs PHP8.1.1 , but NC23.0.2.1 is not compatible with > PHP 8.0.

How do I get of this catch22 ?
Thank you, Yann

@yann1420
Please post the url of the curl installer.
I think the curl installer does not install the needed php packages.

the standard installer, being:

curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | bash

There is AFAIK nor release management with these installers. I mean something like .../install-23.01.sh or the like.

I think the clean install already provide PHP.8.1.1 and that the installer script does not downgrades the version of PHP.
Thank you, Yann

@yann1420
Thank you for the link. In the script you can only find

apt-get update
apt-get install --no-install-recommends -y git ca-certificates sudo lsb-release wget

So you must have installed PHP 8.1 before. Debian Bullseye only ships with PHP 7.4. So how did you install PHP 8.1?

Debian -- Informationen über Paket php in bullseye

Post
dpkg -l |grep php

I started doubting my self therefore ran the complete procedure again. The following is an excerpt:

pi@roxanne:~ $ sudo -s
root@roxanne:/home/pi# cat /boot/issue.txt
Raspberry Pi reference 2022-09-22
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 005a8c73b05a2cab394073150208bf4f069e861a, stage2

shows this is a clean install of RaspbianOS

root@roxanne:/home/pi# dpkg -l |grep php

root@roxanne:/home/pi#

This shows there is NO PHP installed on clean Raspbian lite​

root@roxanne:/home/pi# script install-NCP.log Script started, output log file is 'install-NCP.log'.

​The log of installation is captured in install-NCP.log

root@roxanne:/home/pi# curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | tee install-NCP.bash| bash

​The curl-installerscript is captured in install-NCP.bash

After the install, the following command lists:

root@roxanne:~# dpkg -l |grep php
ii php-common 2:92+0~20220117.43+debian11~1.gbpe0d14e all Common files for PHP packages
ii php-json 2:8.1+92+0~20220117.43+debian11~1.gbpe0d14e all JSON module for PHP [default]
ii php8.1 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce all server-side, HTML-embedded scripting language (metapackage)
ii php8.1-bcmath 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 Bcmath module for PHP
ii php8.1-bz2 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 bzip2 module for PHP
ii php8.1-cli 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 command-line interpreter for the PHP scripting language
ii php8.1-common 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 documentation, examples and common module for PHP
ii php8.1-curl 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 CURL module for PHP
ii php8.1-fpm 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 server-side, HTML-embedded scripting language (FPM-CGI binary)
ii php8.1-gd 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 GD module for PHP
ii php8.1-gmp 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 GMP module for PHP
ii php8.1-igbinary 3.2.6+2.0.8-6+0~20220131.33+debian11~1.gbp1d540e arm64 igbinary PHP serializer
ii php8.1-intl 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 Internationalisation module for PHP
ii php8.1-ldap 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 LDAP module for PHP
ii php8.1-mbstring 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 MBSTRING module for PHP
ii php8.1-mysql 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 MySQL module for PHP
ii php8.1-opcache 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 Zend OpCache module for PHP
ii php8.1-readline 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 readline module for PHP
ii php8.1-redis 5.3.7+4.3.0-1+0~20220330.42+debian11~1.gbp6fe8b7 arm64 PHP extension for interfacing with Redis
ii php8.1-xml 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 DOM, SimpleXML, XML, and XSL module for PHP
ii php8.1-zip 8.1.11-1+0~20220929.27+debian11~1.gbpe414ce arm64 Zip module for PHP

But the curl-installer does not contain anything of php.

root@roxanne:/home/pi# grep -i php install-NCP.bash
root@roxanne:/home/pi#

Conclusion
clean raspbian has no PHP installed and the curl-installed installs PHP8.1 although it is not directly in the installer script.

Does this help? Yann

The install script gets the remaining scripts and files necessary for installation from the NextcloudPi repository.

For PHP Sury’s repository has been added, since bullseye doesn’t come with higher than 7.4, you can see this in lamp.sh here ↓

For version control, the scripted installation flow refers to etc/ncp.cfg for which version to install, you can see this here ↓

So we now know for sure that NCP24 comes with PHP8.1 .
That leaves my question, how do I get from a backup having NC23 to NC24 ?

IOW, where could I find and NCP23 curl-installer ?

Thank you, Yann

1 Like

Thanks, I just did that today, went back to 1.48.X. So know I should update NC to 24.06 and then I can use the newest image?

I don’t know if this will work, you can give it a try if you want, this will append a git checkout to the commit with nextcloud 23.0.6 and php 7.4 set for the install script

curl -sSL https://github.com/nextcloud/nextcloudpi/raw/master/install.sh | sed '41a git checkout c57a6223046b21b35452cba8394aeb8526e2542d' | sudo bash

Well, the above did not work.
There for gave it another try as follows:

curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/v1.48.3/install.sh |tee install-NCP1.48.3.sh |bash

but this also results in

root@roxanne:/home/pi/INSTALL-NCP# php -v
PHP 8.1.11 (cli) (built: Sep 29 2022 22:17:15) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.11, Copyright (c) Zend Technologies with Zend OPcache v8.1.11, Copyright (c), by Zend Technologies

resp.

root@roxanne:/home/pi/INSTALL-NCP# grep  version  /var/www/nextcloud/config/config.php 
  'version' => '24.0.5.1',

How would I need to get this done ?