Truenas - "Nextcloud 31 may require at least PHP 8.2"

I have just updated my Truenas hosted jail of nextcloud via the web update to (Nextcloud Hub 9](30.0.2)

but on the admin setting im getting this warning:-

You are currently running PHP 8.1.17. PHP 8.1 is now deprecated in Nextcloud 30. Nextcloud 31 may require at least PHP 8.2

I tried to update to php82 in the ssh of the jail but it borked my nextcloud, i tried quite a few times but failed every time. Lucky i took a snapshot beforehand.

Any pointers to a step by step guide? thx.

what i tried:
I did a pkg update, seemed to work,

then

root@nextcloud:~ # pkg install php82 php82-extensions
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
New version of pkg detected; it needs to be installed first.
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
        pkg: 1.20.9 -> 1.21.3

Number of packages to be upgraded: 1

The process will require 6 MiB more space.
10 MiB to be downloaded.

Proceed with this action? [y/N]: y
[nextcloud] [1/1] Fetching pkg-1.21.3.pkg: 100%   10 MiB   5.0MB/s    00:02    
Checking integrity... done (0 conflicting)
[nextcloud] [1/1] Upgrading pkg from 1.20.9 to 1.21.3...
[nextcloud] [1/1] Extracting pkg-1.21.3: 100%
Updating FreeBSD repository catalogue...
[nextcloud] Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
[nextcloud] Fetching data.pkg: 100%    7 MiB   7.5MB/s    00:01    
Processing entries:   0%
Newer FreeBSD version for package zziplib:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1303001
- running kernel: 1301000
Ignore the mismatch and continue? [y/N]: y
Processing entries: 100%
FreeBSD repository update completed. 35523 packages processed.
All repositories are up to date.
The following 18 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        php82: 8.2.24
        php82-ctype: 8.2.24
        php82-dom: 8.2.24
        php82-extensions: 1.0
        php82-filter: 8.2.24
        php82-iconv: 8.2.24
        php82-opcache: 8.2.24
        php82-pdo: 8.2.24
        php82-pdo_sqlite: 8.2.24
        php82-phar: 8.2.24
        php82-posix: 8.2.24
        php82-session: 8.2.24
        php82-simplexml: 8.2.24
        php82-sqlite3: 8.2.24
        php82-tokenizer: 8.2.24
        php82-xml: 8.2.24
        php82-xmlreader: 8.2.24
        php82-xmlwriter: 8.2.24

Number of packages to be installed: 18

The process will require 28 MiB more space.
5 MiB to be downloaded.

Proceed with this action? [y/N]: y
[nextcloud] [1/18] Fetching php82-dom-8.2.24.pkg: 100%   67 KiB  68.6kB/s    00:01    
[nextcloud] [2/18] Fetching php82-pdo-8.2.24.pkg: 100%   52 KiB  53.2kB/s    00:01    
[nextcloud] [3/18] Fetching php82-xmlreader-8.2.24.pkg: 100%   16 KiB  16.6kB/s    00:01    
[nextcloud] [4/18] Fetching php82-xmlwriter-8.2.24.pkg: 100%   15 KiB  15.6kB/s    00:01    
[nextcloud] [5/18] Fetching php82-ctype-8.2.24.pkg: 100%    7 KiB   7.2kB/s    00:01    
[nextcloud] [6/18] Fetching php82-pdo_sqlite-8.2.24.pkg: 100%   14 KiB  14.3kB/s    00:01    
[nextcloud] [7/18] Fetching php82-session-8.2.24.pkg: 100%   38 KiB  38.5kB/s    00:01    
[nextcloud] [8/18] Fetching php82-simplexml-8.2.24.pkg: 100%   24 KiB  24.3kB/s    00:01    
[nextcloud] [9/18] Fetching php82-tokenizer-8.2.24.pkg: 100%   14 KiB  14.3kB/s    00:01    
[nextcloud] [10/18] Fetching php82-extensions-1.0.pkg: 100%    2 KiB   1.5kB/s    00:01    
[nextcloud] [11/18] Fetching php82-phar-8.2.24.pkg: 100%  108 KiB 110.7kB/s    00:01    
[nextcloud] [12/18] Fetching php82-posix-8.2.24.pkg: 100%   14 KiB  14.1kB/s    00:01    
[nextcloud] [13/18] Fetching php82-8.2.24.pkg: 100%    4 MiB   4.3MB/s    00:01    
[nextcloud] [14/18] Fetching php82-sqlite3-8.2.24.pkg: 100%   25 KiB  25.6kB/s    00:01    
[nextcloud] [15/18] Fetching php82-xml-8.2.24.pkg: 100%   21 KiB  21.8kB/s    00:01    
[nextcloud] [16/18] Fetching php82-iconv-8.2.24.pkg: 100%   19 KiB  19.3kB/s    00:01    
[nextcloud] [17/18] Fetching php82-opcache-8.2.24.pkg: 100%  326 KiB 334.1kB/s    00:01    
[nextcloud] [18/18] Fetching php82-filter-8.2.24.pkg: 100%   22 KiB  22.8kB/s    00:01    
Checking integrity... done (14 conflicting)
  - php82-dom-8.2.24 conflicts with php81-dom-8.1.17 on /usr/local/include/php/ext/dom/dom_ce.h
  - php82-pdo-8.2.24 conflicts with php81-pdo-8.1.17 on /usr/local/include/php/ext/pdo/php_pdo.h
  - php82-xmlreader-8.2.24 conflicts with php81-xmlreader-8.1.17 on /usr/local/include/php/ext/xmlreader/config.h
  - php82-xmlwriter-8.2.24 conflicts with php81-xmlwriter-8.1.17 on /usr/local/include/php/ext/xmlwriter/config.h
  - php82-ctype-8.2.24 conflicts with php81-ctype-8.1.17 on /usr/local/include/php/ext/ctype/ctype_arginfo.h
  - php82-session-8.2.24 conflicts with php81-session-8.1.17 on /usr/local/include/php/ext/session/php_session.h
  - php82-simplexml-8.2.24 conflicts with php81-simplexml-8.1.17 on /usr/local/include/php/ext/simplexml/php_simplexml.h
  - php82-phar-8.2.24 conflicts with php81-phar-8.1.17 on /usr/local/include/php/ext/phar/func_interceptors.h
  - php82-posix-8.2.24 conflicts with php81-posix-8.1.17 on /usr/local/include/php/ext/posix/posix_arginfo.h
  - php82-8.2.24 conflicts with php81-8.1.17 on /usr/local/bin/php
  - php82-xml-8.2.24 conflicts with php81-xml-8.1.17 on /usr/local/include/php/ext/xml/xml_arginfo.h
  - php82-iconv-8.2.24 conflicts with php81-iconv-8.1.17 on /usr/local/include/php/ext/iconv/config.h
  - php82-opcache-8.2.24 conflicts with php81-opcache-8.1.17 on /usr/local/include/php/ext/opcache/zend_file_cache.h
  - php82-filter-8.2.24 conflicts with php81-filter-8.1.17 on /usr/local/include/php/ext/filter/filter_arginfo.h
Checking integrity... done (0 conflicting)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 46 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        php82: 8.2.24
        php82-ctype: 8.2.24
        php82-dom: 8.2.24
        php82-extensions: 1.0
        php82-filter: 8.2.24
        php82-iconv: 8.2.24
        php82-opcache: 8.2.24
        php82-pdo: 8.2.24
        php82-pdo_sqlite: 8.2.24
        php82-phar: 8.2.24
        php82-posix: 8.2.24
        php82-session: 8.2.24
        php82-simplexml: 8.2.24
        php82-sqlite3: 8.2.24
        php82-tokenizer: 8.2.24
        php82-xml: 8.2.24
        php82-xmlreader: 8.2.24
        php82-xmlwriter: 8.2.24

Number of packages to be installed: 18

The process will require 28 MiB more space.

Proceed with this action? [y/N]: y
[nextcloud] Fetching php81-8.1.30.pkg: 100%    4 MiB   4.2MB/s    00:01    
[nextcloud] Fetching php81-dom-8.1.30.pkg: 100%   66 KiB  67.4kB/s    00:01    
[nextcloud] Fetching php81-phar-8.1.30.pkg: 100%  107 KiB 109.9kB/s    00:01    
[nextcloud] Fetching php81-filter-8.1.30.pkg: 100%   22 KiB  22.1kB/s    00:01    
[nextcloud] Fetching php81-opcache-8.1.30.pkg: 100%  327 KiB 334.7kB/s    00:01    
[nextcloud] Fetching php81-ctype-8.1.30.pkg: 100%    7 KiB   7.3kB/s    00:01    
[nextcloud] Fetching php81-posix-8.1.30.pkg: 100%   14 KiB  13.9kB/s    00:01    
[nextcloud] Fetching php81-xmlreader-8.1.30.pkg: 100%   15 KiB  15.8kB/s    00:01    
[nextcloud] Fetching php81-simplexml-8.1.30.pkg: 100%   24 KiB  24.4kB/s    00:01    
[nextcloud] Fetching php81-session-8.1.30.pkg: 100%   37 KiB  38.0kB/s    00:01    
[nextcloud] Fetching php81-iconv-8.1.30.pkg: 100%   19 KiB  19.1kB/s    00:01    
[nextcloud] Fetching php81-xml-8.1.30.pkg: 100%   21 KiB  21.5kB/s    00:01    
[nextcloud] Fetching php81-pdo-8.1.30.pkg: 100%   49 KiB  50.1kB/s    00:01    
[nextcloud] Fetching php81-xmlwriter-8.1.30.pkg: 100%   15 KiB  15.6kB/s    00:01    
[nextcloud] [1/46] Deinstalling php81-8.1.17...
[nextcloud] [1/46] Deleting files for php81-8.1.17: 100%
[nextcloud] [2/46] Deinstalling php81-dom-8.1.17...
[nextcloud] [2/46] Deleting files for php81-dom-8.1.17: 100%
[nextcloud] [3/46] Deinstalling php81-pdo-8.1.17...
[nextcloud] [3/46] Deleting files for php81-pdo-8.1.17: 100%
[nextcloud] [4/46] Installing php82-8.2.24...
[nextcloud] [4/46] Extracting php82-8.2.24: 100%
[nextcloud] [5/46] Deinstalling php81-phar-8.1.17...
[nextcloud] [5/46] Deleting files for php81-phar-8.1.17: 100%
[nextcloud] [6/46] Deinstalling php81-filter-8.1.17...
[nextcloud] [6/46] Deleting files for php81-filter-8.1.17: 100%
[nextcloud] [7/46] Deinstalling php81-opcache-8.1.17...
[nextcloud] [7/46] Deleting files for php81-opcache-8.1.17: 100%
[nextcloud] [8/46] Deinstalling php81-ctype-8.1.17...
[nextcloud] [8/46] Deleting files for php81-ctype-8.1.17: 100%
[nextcloud] [9/46] Deinstalling php81-posix-8.1.17...
[nextcloud] [9/46] Deleting files for php81-posix-8.1.17: 100%
[nextcloud] [10/46] Deinstalling php81-xmlreader-8.1.17...
[nextcloud] [10/46] Deleting files for php81-xmlreader-8.1.17: 100%
[nextcloud] [11/46] Deinstalling php81-simplexml-8.1.17...
[nextcloud] [11/46] Deleting files for php81-simplexml-8.1.17: 100%
[nextcloud] [12/46] Deinstalling php81-session-8.1.17...
[nextcloud] [12/46] Deleting files for php81-session-8.1.17: 100%
[nextcloud] [13/46] Deinstalling php81-iconv-8.1.17...
[nextcloud] [13/46] Deleting files for php81-iconv-8.1.17: 100%
[nextcloud] [14/46] Deinstalling php81-xml-8.1.17...
[nextcloud] [14/46] Deleting files for php81-xml-8.1.17: 100%
[nextcloud] [15/46] Deinstalling php81-xmlwriter-8.1.17...
[nextcloud] [15/46] Deleting files for php81-xmlwriter-8.1.17: 100%
[nextcloud] [16/46] Installing php82-dom-8.2.24...
[nextcloud] [16/46] Extracting php82-dom-8.2.24: 100%
[nextcloud] [17/46] Installing php82-pdo-8.2.24...
[nextcloud] [17/46] Extracting php82-pdo-8.2.24: 100%
[nextcloud] [17/46] Installing php81-8.1.30...
pkg: php81-8.1.30 conflicts with php82-8.2.24 (installs files into the same place).  Problematic file: /usr/local/bin/php

The nextcloud web UI just says this now:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

Check your nextcloud.log. That will tell you. We can only guess. :slight_smile:

So are you saying that i am doing this the right way? If so then what is this at the end of the attempt to use pkg install php82 php82-extensions ?

pkg: php81-8.1.30 conflicts with php82-8.2.24 (installs files into the same place).  Problematic file: /usr/local/bin/php

It’s deleting all the PHP 8.1 files, but it only manages to install these couple of PHP 8.2 files before it fails with the conflict error.

So it never actually installs all of php82.

How do i get past this?

To remove some stress in terms of timeline, see also On the roadmap drop of PHP 8.0 support in Nextcloud 31

Server will drop 8.0 with Nextcloud 31 / Hub 10. Henc eyou will still be fine with / for the next major release.

ok, thx, so does that mean that eventually php8.3 (or 8.2) will come down as part of the web UI update at some point?

I have asked for the same help on the truenas forum but its a trail to failure so far

Very lucky i have roll-backs

No, never.

PHP (and its versions) are part of the underlying platform on top of which Nextcloud is operated/executed and is in no way part of Nextcloud itself.
This would only be the case for Containers (Like NExtcloud’s Docker AIO) and VMs.

I have no knowldge how Nextcloud is operated/installed in your scenario.