If you are running HanssonIT Nextcloud VM with Ubuntu 22.04 and your Nextcloud has version 31 and you want to update to version 32, you are recommended to update to at least php version 8.2. Ubuntus 22.04 default is php v8.1
ernolf (Raphael Gradenwitz - https://github.com/ernolf) published an amazing php updater script: https://help.nextcloud.com/t/php-updater-a-script-to-upgrade-php-in-a-safe-way/180215
Commands
sudo apt-get update && sudo apt-get install jq
sudo wget -O /usr/local/bin/php-updater https://global-social.net/script/php-updater
sudo chmod +x /usr/local/bin/php-updaterExample
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ sudo wget -O /usr/local/bin/php-updater https://global-social.net/script/php-updater
sudo chmod +x /usr/local/bin/php-updater
--2026-03-05 20:15:04-- https://global-social.net/script/php-updater
Resolving global-social.net (global-social.net)... 84.189.141.247
Connecting to global-social.net (global-social.net)|84.189.141.247|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://global-social.net/raw/scripts/php-updater [following]
--2026-03-05 20:15:04-- https://global-social.net/raw/scripts/php-updater
Reusing existing connection to global-social.net:443.
HTTP request sent, awaiting response... 200 OK
Length: 24089 (24K) [text/plain]
Saving to: ‘/usr/local/bin/php-updater’
/usr/local/bin/php-updater 100%[============================================================================================================>] 23.52K --.-KB/s in 0.02s
2026-03-05 20:15:04 (1.25 MB/s) - ‘/usr/local/bin/php-updater’ saved [24089/24089]
ncadmin@nas:/usr/local/bin$ ll
total 32
drwxr-xr-x 2 root root 4096 Mar 5 20:15 ./
drwxr-xr-x 10 root root 4096 Apr 21 2022 ../
-rwxr-xr-x 1 root root 24089 Feb 24 04:07 php-updater*
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ php-updater
ERROR: 'jq' binary not found.
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ sudo apt-get update
Get:1 https://download.docker.com/linux/ubuntu jammy InRelease [48.5 kB]
Hit:2 https://ftp.uni-stuttgart.de/ubuntu jammy InRelease
Get:3 https://ftp.uni-stuttgart.de/ubuntu jammy-updates InRelease [128 kB]
Get:4 http://repository.netdata.cloud/repos/edge/ubuntu jammy/ InRelease [2054 B]
Get:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [71.5 kB]
Get:6 https://ftp.uni-stuttgart.de/ubuntu jammy-backports InRelease [127 kB]
Get:7 https://ftp.uni-stuttgart.de/ubuntu jammy-security InRelease [129 kB]
Hit:8 http://repository.netdata.cloud/repos/repoconfig/ubuntu jammy/ InRelease
Get:9 https://ftp.uni-stuttgart.de/ubuntu jammy-updates/main amd64 Packages [3285 kB]
Get:10 http://repository.netdata.cloud/repos/edge/ubuntu jammy/ Packages [40.0 kB]
Get:11 https://ftp.uni-stuttgart.de/ubuntu jammy-updates/universe amd64 Packages [1256 kB]
Hit:12 https://download.webmin.com/download/newkey/repository stable InRelease
Fetched 5087 kB in 1s (3587 kB/s)
Reading package lists... Done
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ sudo apt-get install jq
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libjq1
The following NEW packages will be installed:
jq libjq1
0 upgraded, 2 newly installed, 0 to remove and 25 not upgraded.
Need to get 186 kB of archives.
After this operation, 458 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 https://ftp.uni-stuttgart.de/ubuntu jammy-updates/main amd64 libjq1 amd64 1.6-2.1ubuntu3.1 [133 kB]
Get:2 https://ftp.uni-stuttgart.de/ubuntu jammy-updates/main amd64 jq amd64 1.6-2.1ubuntu3.1 [52.5 kB]
Fetched 186 kB in 0s (589 kB/s)
Selecting previously unselected package libjq1:amd64.
(Reading database ... 154392 files and directories currently installed.)
Preparing to unpack .../libjq1_1.6-2.1ubuntu3.1_amd64.deb ...
Unpacking libjq1:amd64 (1.6-2.1ubuntu3.1) ...
Selecting previously unselected package jq.
Preparing to unpack .../jq_1.6-2.1ubuntu3.1_amd64.deb ...
Unpacking jq (1.6-2.1ubuntu3.1) ...
Setting up libjq1:amd64 (1.6-2.1ubuntu3.1) ...
Setting up jq (1.6-2.1ubuntu3.1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.13) ...
Scanning processes...
Scanning linux images...
Running kernel seems to be up-to-date.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ php-updater
.. loading modules - dependency
Dependency not met!
missing dependency:
==============================================================================
Binary Package Description
------------------------------------------------------------------------------
ansifilter ansifilter parse common (terminal) ANSI codes and remove or convert them
------------------------------------------------------------------------------
Q: Do you want to install this package now? ([y]es or [n]o) [yes]: y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
ansifilter
0 upgraded, 1 newly installed, 0 to remove and 25 not upgraded.
Need to get 70.9 kB of archives.
After this operation, 208 kB of additional disk space will be used.
Get:1 https://ftp.uni-stuttgart.de/ubuntu jammy/universe amd64 ansifilter amd64 2.18+dfsg1-1 [70.9 kB]
Fetched 70.9 kB in 0s (230 kB/s)
Selecting previously unselected package ansifilter.
(Reading database ... 154404 files and directories currently installed.)
Preparing to unpack .../ansifilter_2.18+dfsg1-1_amd64.deb ...
Unpacking ansifilter (2.18+dfsg1-1) ...
Setting up ansifilter (2.18+dfsg1-1) ...
Processing triggers for man-db (2.10.2-1) ...
Scanning processes...
Scanning linux images...
Running kernel seems to be up-to-date.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
.. loading modules - integrity
First run of php-updater, checking integrity:
===================================================================================================================
gpg: directory '/var/tmp/ebtb/.gnupg' created
gpg: keybox '/var/tmp/ebtb/.gnupg/pubring.kbx' created
gpg: /var/tmp/ebtb/.gnupg/trustdb.gpg: trustdb created
gpg: using RSA key 3EE43A84D2BA635A94E1033B0B145139A170715C
gpg: Good signature from "[ernolf] Raphael Gradenwitz (codesigning) <raphael.gradenwitz@googlemail.com>" [unknown]
-------------------------------------------------------------------------------------------------------------------
Installing janitor..
.. loading modules - integrity
First run of janitor, checking integrity:
===================================================================================================================
gpg: using RSA key 3EE43A84D2BA635A94E1033B0B145139A170715C
gpg: Good signature from "[ernolf] Raphael Gradenwitz (codesigning) <raphael.gradenwitz@googlemail.com>" [unknown]
-------------------------------------------------------------------------------------------------------------------
Integrity check of janitor passed. The script is authentic.
===================================================================================================================
Integrity check of janitor passed. Please start script again
The 'janitor' script provides system information. Simply run 'janitor'
Integrity check of php-updater passed. The script is authentic.
===================================================================================================================
Integrity check of php-updater passed. Please start script again
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ php-updater
Distribution check..
Privacy Notice
==============
Please note that use of this service is subject to the following terms and conditions.
By using this service, you agree to these terms.
Contribution Requirement:
-------------------------
I expect all users to contribute in some way, especially if the service is used for
commercial or professional purposes.
Information on how to contribute is provided at the end of this script or can be
accessed by running:
- php-updater --contribute
Data Collection and Use:
------------------------
During execution, non-sensitive system data may be transferred. This data includes,
but is not limited to:
- Distribution information
- Versions of various software components (especially PHP packages)
- Configured APT sources
- Installed and active web servers
- User queries and responses
- Error stack traces
The use of this service is logged for reference. You can view this log under:
/tmp/ebtb/log/php-updater[uid:0].log
All collected data is used solely to optimize and improve the service. No additional
information beyond what is contained in the logfiles will be analyzed.
Anonymization:
--------------
Usernames recorded in logfiles are standardized to “root”, “sudo_user”, “www-data”, or
“unprivileged_user” to ensure anonymity. Additionally, an anonymized fingerprint is
generated for each computer using the machine ID. This fingerprint associates the data
with a computer rather than with any individual. No statistical analysis or
comparisons with previous data are performed.
Disclaimer:
-----------
If you do not agree with these terms, please terminate the script immediately by
pressing [ q ].
Use of this script implies acceptance of these terms.
Note:
-----
You are not required to agree to these terms in order to run the
- php-updater --contribute
command.
==============================================================================
This is a list of recent ubuntu versions for your information.
Version Codename End of support LTS sury-php-repo
------------------------------------------------------------------------------
26.04 resolute 2031-05-29 (in 5 years and 2 months) [✔️] [✖️]
25.10 questing 2026-07-09 (in 4 months) [✖️] [✖️]
25.04 plucky 2026-01-31 (1 month ago) [✖️] [✖️]
24.10 oracular 2025-07-31 (7 months ago) [✖️] [✖️]
24.04 noble 2029-05-31 (in 3 years and 2 months) [✔️] [✔️]
23.10 mantic 2024-07-31 (1 year and 7 months ago) [✖️] [✖️]
23.04 lunar 2024-01-25 (2 years and 1 month ago) [✖️] [✖️]
22.10 kinetic 2023-07-20 (2 years and 7 months ago) [✖️] [✖️]
22.04 jammy 2027-06-30 (in 1 year and 3 months) [✔️] [✔️]
21.10 impish 2022-07-14 (3 years and 7 months ago) [✖️] [✖️]
21.04 hirsute 2022-01-20 (4 years and 1 month ago) [✖️] [✖️]
20.10 groovy 2021-07-22 (4 years and 7 months ago) [✖️] [✖️]
20.04 focal 2025-04-30 (10 months ago) [✔️] [✖️]
19.10 eoan 2020-07-17 (5 years and 7 months ago) [✖️] [✖️]
19.04 disco 2020-01-23 (6 years and 1 month ago) [✖️] [✖️]
18.10 cosmic 2019-07-18 (6 years and 7 months ago) [✖️] [✖️]
18.04 bionic 2023-05-31 (2 years and 9 months ago) [✔️] [✖️]
------------------------------------------------------------------------------
You can call this list with: php-updater --list-ubuntu
------------------------------------------------------------------------------
This machine is running Ubuntu 22.04.5 LTS (Jammy Jellyfish), Codename jammy. Good!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I: Only one php version (8.1) found, which is the thinkable best possible starting situation for this script.
Simply follow the instructions and recommendations to install a new PHP version if possible, which then
will adopt the settings of this PHP version by the means of this script.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. etx_state() cleanup orphaned entries from extensions state registry .
. etx_state() fix extensions state registry /var/lib/php/modules .
. detect actually installed extensions .
. assign detected extensions to their corresponding package .
. detect extensions installed by admin .
. searching packaged versions for php8.1 extensions not installed by dpkg .
==============================================================================
actual PHP related packages installed and managed by dpkg
X Package Version Status
------------------------------------------------------------------------------
- php-common 2:92ubuntu1 ha
- php-json 2:8.1+92ubuntu1 ha
DEP php-mysql 2:8.1+92ubuntu1 ha
- php-pear 1:1.10.12+submodules+notgz+20210212-1ubuntu3 hm
DEP php-sqlite3 2:8.1+92ubuntu1 ha
- php8.1-bcmath 8.1.2-1ubuntu2.23 hm
\included module: bcmath
- php8.1-bz2 8.1.2-1ubuntu2.23 hm
\included module: bz2
SAPI php8.1-cli 8.1.2-1ubuntu2.23 ha
\php binary /usr/bin/php8.1 <ACTIVE> linked to generic /usr/bin/php
- php8.1-common 8.1.2-1ubuntu2.23 hm
\included modules: calendar ctype exif ffi fileinfo ftp gettext iconv pdo
phar posix shmop sockets sysvmsg sysvsem sysvshm tokenizer
- php8.1-curl 8.1.2-1ubuntu2.23 hm
\included module: curl
- php8.1-dev 8.1.2-1ubuntu2.23 hm
SAPI php8.1-fpm 8.1.2-1ubuntu2.23 hm
\listening on unix socket /run/php/php8.1-fpm.nextcloud.sock <CONNECTED> apache2
- php8.1-gd 8.1.2-1ubuntu2.23 hm
\included module: gd
- php8.1-gmp 8.1.2-1ubuntu2.23 hm
\included module: gmp
- php8.1-imap 8.1.2-1ubuntu2.23 hm
\included module: imap
- php8.1-intl 8.1.2-1ubuntu2.23 hm
\included module: intl
- php8.1-ldap 8.1.2-1ubuntu2.23 hm
\included module: ldap
- php8.1-mbstring 8.1.2-1ubuntu2.23 hm
\included module: mbstring
- php8.1-mysql 8.1.2-1ubuntu2.23 ha
\included modules: mysqli mysqlnd pdo_mysql
- php8.1-opcache 8.1.2-1ubuntu2.23 ha
\included module: opcache
- php8.1-pgsql 8.1.2-1ubuntu2.23 hm
\included modules: pdo_pgsql pgsql
- php8.1-readline 8.1.2-1ubuntu2.23 ha
\included module: readline
- php8.1-soap 8.1.2-1ubuntu2.23 hm
\included module: soap
- php8.1-sqlite3 8.1.2-1ubuntu2.23 ha
\included modules: pdo_sqlite sqlite3
- php8.1-xml 8.1.2-1ubuntu2.23 hm
\included modules: dom simplexml xml xmlreader xmlwriter xsl
- php8.1-zip 8.1.2-1ubuntu2.23 hm
\included module: zip
- pkg-php-tools 1.42build1 ia
------------------------------------------------------------------------------
actual PHP pecl extensions NOT installed and managed by dpkg
------------------------------------------------------------------------------
- php8.1
\modules installed by admin: igbinary redis smbclient
------------------------------------------------------------------------------
Status: - First letter (Desired Action): - Second letter (Package Status):
u=Unknown - i=Install - h=Hold a=Automatic - m=Manual
------------------------------------------------------------------------------
You can call this list with: php-updater --list-installed
------------------------------------------------------------------------------
. searching misconfigurations: unused SAPIs .
⚠: There are unnecessary dependency packages (php-mysql and php-sqlite3) installed on this machine.
I: Dependency packages have no other function than to install other packages with the final binaries. For
example, php-apcu depends on the newest binary package, like php8.4-apcu. The downside is that this can
lead to an unwanted update to a new version of that package, which can result in difficult-to-debug issues,
such as internal server errors. It is strongly recommended to remove these packages before updating, as the
removal will make your system more resilient against unintended changes made without your decision.
- This script can remove these packages in a safe way.
Q: Do you want to remove the dependency packages php-mysql and php-sqlite3 now? ([y]es or [n]o) [yes]: n
I: You answered [no], nothing changed.
⚠: WARNING: You should absolutely know what you are doing if you do not follow the script's advice, as it may
result in an unstable system and affect the script's execution down the line! I may not be able to help
with subsequent errors.
. searching misconfigurations: meta-packages .
. check_config() searching known configuration errors .
. check_config() searching known configuration errors in php8.1: check_invalid_sections .
. check_config() searching known configuration errors in php8.1: ext_missing_equalsigns .
. check_config() searching known configuration errors in php8.1: ext_double_definitions .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Double definition detected in /etc/php/8.1/fpm/php.ini:
session.serialize_handler is defined 2 times
info: Extensions that are defined more than once are always a misconfiguration. While PHP itself simply takes
the last value read for the extension, it interferes with the functionality of this script. The
extension that defined multiple times will therefore be commented out (not deleted) without further
prompt, and marked with "# Commented out by php-updater script due to multiple definitions." This makes
it possible for you to see exactly what happened in case you want to change things later on. The last
definition is kept, so that PHP's behavior remains unchanged.
R: All double definitions successfully commented out.
. check_config() searching known configuration errors in php8.1: ext_double_definitions .
. check_config() searching known configuration errors in php8.1: uncommented priority definitions .
. check_config() searching known configuration errors in php8.1: checking core .
. check_config() searching known configuration errors in php8.1: checking bcmath .
. check_config() searching known configuration errors in php8.1: checking bz2 .
. check_config() searching known configuration errors in php8.1: checking calendar .
. check_config() searching known configuration errors in php8.1: checking ctype .
. check_config() searching known configuration errors in php8.1: checking curl .
. check_config() searching known configuration errors in php8.1: checking dom .
. check_config() searching known configuration errors in php8.1: checking exif .
. check_config() searching known configuration errors in php8.1: checking ffi .
. check_config() searching known configuration errors in php8.1: checking fileinfo .
. check_config() searching known configuration errors in php8.1: checking ftp .
. check_config() searching known configuration errors in php8.1: checking gd .
. check_config() searching known configuration errors in php8.1: checking gettext .
. check_config() searching known configuration errors in php8.1: checking gmp .
. check_config() searching known configuration errors in php8.1: checking iconv .
. check_config() searching known configuration errors in php8.1: checking igbinary .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Malicious configuration lines in /etc/php/8.1/fpm/php.ini:
# igbinary for PHP
info: This line was added by an installation script. Of course, this particular line has no meaning as it is
commented out, but it will be removed though since the subsequent igbinary related directives will be
removed there too and placed on their correct place.
session.serialize_handler=igbinary
info: This directive does not belong in /etc/php/8.1/fpm/php.ini. It belongs in
/etc/php/8.1/mods-available/igbinary.ini. It will be removed from /etc/php/8.1/fpm/php.ini and appendet
at the end of /etc/php/8.1/mods-available/igbinary.ini.
igbinary.compact_strings=On
info: This directive does not belong in /etc/php/8.1/fpm/php.ini. It belongs in
/etc/php/8.1/mods-available/igbinary.ini. It will be removed from /etc/php/8.1/fpm/php.ini and appendet
at the end of /etc/php/8.1/mods-available/igbinary.ini.
Q: Do you want to apply this fixes? ([y]es or [n]o) [yes]: y
R: this step was successfull.
. check_config() searching known configuration errors in php8.1: checking igbinary .
. check_config() searching known configuration errors in php8.1: checking imap .
. check_config() searching known configuration errors in php8.1: checking intl .
. check_config() searching known configuration errors in php8.1: checking ldap .
. check_config() searching known configuration errors in php8.1: checking mbstring .
. check_config() searching known configuration errors in php8.1: checking mysqli .
. check_config() searching known configuration errors in php8.1: checking mysqlnd .
. check_config() searching known configuration errors in php8.1: checking opcache .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Malicious configuration line in /etc/php/8.1/fpm/php.ini:
opcache.enable_cli=1
info: This directive has absolutely no effect in /etc/php/8.1/fpm/php.ini. It is meant to enable the opcode
cache for the CLI version of PHP (which is used on the commandline and for cron jobs). For all other
SAPIs the opcode cache is enabled by default. Although it cannot cause any damage at this location, this
file is not sourced by the CLI version of PHP and in /etc/php/8.1/mods-available/opcache.ini or
/etc/php/8.1/cli/php.ini from where the CLI SAPI obtains its directives, this directive is missing. So
this line will be removed from here and inserted into /etc/php/8.1/cli/php.ini.
Q: Do you want to apply this fixes? ([y]es or [n]o) [yes]:
R: Directive successfully written in /etc/php/8.1/cli/php.ini.
R: removal from /etc/php/8.1/fpm/php.ini was successfull.
. check_config() searching known configuration errors in php8.1: checking opcache .
. check_config() searching known configuration errors in php8.1: checking pdo .
. check_config() searching known configuration errors in php8.1: checking pdo_mysql .
. check_config() searching known configuration errors in php8.1: checking pdo_pgsql .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
info: This block was added by an installation script. These are all exclusively default values and besides
that, all these lines are already present in the shipped default php.ini for all SAPIs in exact the same
order. Php does not get better by adding directives multiple times, it only lowers the overview ability
and makes it difficult for this script. That is why this lines will (should) be removed.
Q: Do you want to remove these lines? ([y]es or [n]o) [yes]:
R: lines successfully removed.
. check_config() searching known configuration errors in php8.1: checking pdo_pgsql .
. check_config() searching known configuration errors in php8.1: checking pdo_sqlite .
. check_config() searching known configuration errors in php8.1: checking pgsql .
. check_config() searching known configuration errors in php8.1: checking phar .
. check_config() searching known configuration errors in php8.1: checking posix .
. check_config() searching known configuration errors in php8.1: checking readline .
. check_config() searching known configuration errors in php8.1: checking redis .
. check_config() searching known configuration errors in php8.1: checking shmop .
. check_config() searching known configuration errors in php8.1: checking simplexml .
. check_config() searching known configuration errors in php8.1: checking smbclient .
. check_config() searching known configuration errors in php8.1: checking soap .
. check_config() searching known configuration errors in php8.1: checking sockets .
. check_config() searching known configuration errors in php8.1: checking sqlite3 .
. check_config() searching known configuration errors in php8.1: checking sysvmsg .
. check_config() searching known configuration errors in php8.1: checking sysvsem .
. check_config() searching known configuration errors in php8.1: checking sysvshm .
. check_config() searching known configuration errors in php8.1: checking tokenizer .
. check_config() searching known configuration errors in php8.1: checking xml .
. check_config() searching known configuration errors in php8.1: checking xmlreader .
. check_config() searching known configuration errors in php8.1: checking xmlwriter .
. check_config() searching known configuration errors in php8.1: checking xsl .
. check_config() searching known configuration errors in php8.1: checking zip .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This is the supported architecture on this machine:
architecture: amd64
This is a list of the effective apt sources on this machine:
No Label URI Archive Component Arch
-- ----- --- ------- --------- ----
01 Webmin download.webmin.com/download/newkey/repository stable contrib all
02 Webmin download.webmin.com/download/newkey/repository stable contrib amd64
03 Netdata repository.netdata.cloud/repos/repoconfig/ubuntu jammy
04 Netdata repository.netdata.cloud/repos/edge/ubuntu jammy
05 Docker CE download.docker.com/linux/ubuntu jammy stable amd64
06 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security multiverse amd64
07 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security universe amd64
08 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security restricted amd64
09 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security main amd64
10 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-backports universe amd64
11 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-backports main amd64
12 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates multiverse amd64
13 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates universe amd64
14 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates restricted amd64
15 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates main amd64
16 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy multiverse amd64
17 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy universe amd64
18 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy restricted amd64
19 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy main amd64
r=32,
This is a list of the files containing the apt sources:
01 /etc/apt/sources.list
02 /etc/apt/sources.list.d/docker.list
03 /etc/apt/sources.list.d/webmin.list
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
==============================================================================
This is a list of php versions offered by the actual apt sources
Version End of life Description
------------------------------------------------------------------------------
-> 8.1 2025-12-31 (2 months ago) <-actually running version
\ supported by Nextcloud version 24, 25, 26, 27, 28, 29, 30, 31 and 32
------------------------------------------------------------------------------
- Consider adding Ondřej Surý's repo to your Apt sources to expand the range of installable PHP candidates
Visit Ondřej Surý's website: https://deb.sury.org/ for more details.
This script can add the right repo to your apt sources.
If this step fails, you should fix it yourself please. Do not run this step multiple times then. If it
doesn't work after one attempt, it won't work on the second and subsequent attempts either. It will
propably be fixed though in a future version of this script, so you can run this script again at a later
time to try again if it fails now.
Q: Do you want to add sury repo now? ([y]es or [n]o) [yes]:
. resynchronizing the APT package index files .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
adding apt source was successfull
After made changes..
This is the supported architecture on this machine:
architecture: amd64
This is a list of the effective apt sources on this machine:
No Label URI Archive Component Arch
-- ----- --- ------- --------- ----
01 Webmin download.webmin.com/download/newkey/repository stable contrib all
02 Webmin download.webmin.com/download/newkey/repository stable contrib amd64
03 PPA for PHP ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main amd64
04 Netdata repository.netdata.cloud/repos/repoconfig/ubuntu jammy
05 Netdata repository.netdata.cloud/repos/edge/ubuntu jammy
06 Docker CE download.docker.com/linux/ubuntu jammy stable amd64
07 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security multiverse amd64
08 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security universe amd64
09 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security restricted amd64
10 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-security main amd64
11 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-backports universe amd64
12 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-backports main amd64
13 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates multiverse amd64
14 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates universe amd64
15 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates restricted amd64
16 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy-updates main amd64
17 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy multiverse amd64
18 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy universe amd64
19 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy restricted amd64
20 Ubuntu ftp.uni-stuttgart.de/ubuntu jammy main amd64
r=0, - 3 = ok (0)
This is a list of the files containing the apt sources:
01 /etc/apt/sources.list
02 /etc/apt/sources.list.d/docker.list
03 /etc/apt/sources.list.d/ondrej-sury_php.sources
04 /etc/apt/sources.list.d/webmin.list
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
==============================================================================
This is a list of php versions offered by the actual apt sources
Version End of life Description
------------------------------------------------------------------------------
- 8.5 2029-12-31 (in 3 years and 9 months)
\ supported by Nextcloud version 33
------------------------------------------------------------------------------
- 8.4 2028-12-31 (in 2 years and 9 months)
\ supported by Nextcloud version 31, 32 and 33
------------------------------------------------------------------------------
- 8.3 2027-12-31 (in 1 year and 9 months)
\ supported by Nextcloud version 28, 29, 30, 31, 32 and 33
------------------------------------------------------------------------------
- 8.2 2026-12-31 (in 9 months)
\ supported by Nextcloud version 26, 27, 28, 29, 30, 31, 32 and 33
------------------------------------------------------------------------------
-> 8.1 2025-12-31 (2 months ago) <-actually running version
\ supported by Nextcloud version 24, 25, 26, 27, 28, 29, 30, 31 and 32
------------------------------------------------------------------------------
- 8.0 2022-11-26 (3 years and 3 months ago)
\ supported by Nextcloud version 21, 22, 23, 24, 25, 26, 27, 28 and 29
------------------------------------------------------------------------------
- 7.4 2021-11-27 (4 years and 3 months ago)
\ supported by Nextcloud version 18, 19, 20, 21, 22, 23, 24 and 25
------------------------------------------------------------------------------
- 7.3 2020-12-05 (5 years and 3 months ago)
\ supported by Nextcloud version 15, 16, 17, 18, 19, 20, 21, 22 and 23
------------------------------------------------------------------------------
- 7.2 2019-11-29 (6 years and 3 months ago)
\ supported by Nextcloud version 13, 14, 15, 16, 17, 18, 19 and 20
------------------------------------------------------------------------------
- 7.1 2018-11-30 (7 years and 3 months ago)
\ supported by Nextcloud version 11, 12, 13, 14, 15, 16 and 17
------------------------------------------------------------------------------
- 7.0 2017-12-02 (8 years and 3 months ago)
\ supported by Nextcloud version 10, 11, 12, 13, 14 and 15
------------------------------------------------------------------------------
- 5.6 2017-01-18 (9 years and 1 month ago)
\ supported by Nextcloud version 9, 10, 11, 12 and 13
------------------------------------------------------------------------------
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Q: Do you want to install a new php-version now? ([y]es or [n]o) [yes]:
==============================================================================
This is a list of php versions offered by the actual apt sources
Version End of life Description
------------------------------------------------------------------------------
- 8.5 2029-12-31 (in 3 years and 9 months)
\ supported by Nextcloud version 33
------------------------------------------------------------------------------
- 8.4 2028-12-31 (in 2 years and 9 months)
\ supported by Nextcloud version 31, 32 and 33
------------------------------------------------------------------------------
- 8.3 2027-12-31 (in 1 year and 9 months)
\ supported by Nextcloud version 28, 29, 30, 31, 32 and 33
------------------------------------------------------------------------------
- 8.2 2026-12-31 (in 9 months)
\ supported by Nextcloud version 26, 27, 28, 29, 30, 31, 32 and 33
------------------------------------------------------------------------------
-> 8.1 2025-12-31 (2 months ago) <-actually running version
\ supported by Nextcloud version 24, 25, 26, 27, 28, 29, 30, 31 and 32
------------------------------------------------------------------------------
- 8.0 2022-11-26 (3 years and 3 months ago)
\ supported by Nextcloud version 21, 22, 23, 24, 25, 26, 27, 28 and 29
------------------------------------------------------------------------------
- 7.4 2021-11-27 (4 years and 3 months ago)
\ supported by Nextcloud version 18, 19, 20, 21, 22, 23, 24 and 25
------------------------------------------------------------------------------
- 7.3 2020-12-05 (5 years and 3 months ago)
\ supported by Nextcloud version 15, 16, 17, 18, 19, 20, 21, 22 and 23
------------------------------------------------------------------------------
- 7.2 2019-11-29 (6 years and 3 months ago)
\ supported by Nextcloud version 13, 14, 15, 16, 17, 18, 19 and 20
------------------------------------------------------------------------------
- 7.1 2018-11-30 (7 years and 3 months ago)
\ supported by Nextcloud version 11, 12, 13, 14, 15, 16 and 17
------------------------------------------------------------------------------
- 7.0 2017-12-02 (8 years and 3 months ago)
\ supported by Nextcloud version 10, 11, 12, 13, 14 and 15
------------------------------------------------------------------------------
- 5.6 2017-01-18 (9 years and 1 month ago)
\ supported by Nextcloud version 9, 10, 11, 12 and 13
------------------------------------------------------------------------------
E: Please enter the version string you want to install (e.g. '8.2'): 8.4
You entered: 8.4 supported by Nextcloud version 31, 32 and 33
Q: Are you ready to install php8.4? ([y]es or [n]o) [yes]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. detect actually installed extensions .
. assign detected extensions to their corresponding package .
. detect extensions installed by admin .
. searching packaged versions for php8.1 extensions not installed by dpkg .
. performing thorough review (dry run) of package sources and for candidate availability .
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
php-common php8.4-common php8.4-opcache php8.4-readline
The following NEW packages will be installed:
php8.4-cli php8.4-common php8.4-fpm php8.4-opcache php8.4-readline
The following held packages will be changed:
php-common
The following packages will be upgraded:
php-common
1 upgraded, 5 newly installed, 0 to remove and 58 not upgraded.
Need to get 5358 kB of archives.
After this operation, 23.7 MB of additional disk space will be used.
Get:1 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php-common all 2:101~+ubuntu22.04.1+deb.sury.org+1 [17.7 kB]
Get:2 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-common amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [819 kB]
Get:3 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-opcache amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [491 kB]
Get:4 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-readline amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [13.7 kB]
Get:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-cli amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [2000 kB]
Get:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-fpm amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [2016 kB]
Fetched 5358 kB in 5s (1175 kB/s)
(Reading database ... 154410 files and directories currently installed.)
Preparing to unpack .../0-php-common_2%3a101~+ubuntu22.04.1+deb.sury.org+1_all.deb ...
Unpacking php-common (2:101~+ubuntu22.04.1+deb.sury.org+1) over (2:92ubuntu1) ...
Selecting previously unselected package php8.4-common.
Preparing to unpack .../1-php8.4-common_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-common (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-opcache.
Preparing to unpack .../2-php8.4-opcache_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-opcache (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-readline.
Preparing to unpack .../3-php8.4-readline_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-readline (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-cli.
Preparing to unpack .../4-php8.4-cli_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-cli (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-fpm.
Preparing to unpack .../5-php8.4-fpm_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-fpm (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php-common (2:101~+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-common (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/calendar.ini with new version
Creating config file /etc/php/8.4/mods-available/ctype.ini with new version
Creating config file /etc/php/8.4/mods-available/exif.ini with new version
Creating config file /etc/php/8.4/mods-available/fileinfo.ini with new version
Creating config file /etc/php/8.4/mods-available/ffi.ini with new version
Creating config file /etc/php/8.4/mods-available/ftp.ini with new version
Creating config file /etc/php/8.4/mods-available/gettext.ini with new version
Creating config file /etc/php/8.4/mods-available/iconv.ini with new version
Creating config file /etc/php/8.4/mods-available/pdo.ini with new version
Creating config file /etc/php/8.4/mods-available/phar.ini with new version
Creating config file /etc/php/8.4/mods-available/posix.ini with new version
Creating config file /etc/php/8.4/mods-available/shmop.ini with new version
Creating config file /etc/php/8.4/mods-available/sockets.ini with new version
Creating config file /etc/php/8.4/mods-available/sysvmsg.ini with new version
Creating config file /etc/php/8.4/mods-available/sysvsem.ini with new version
Creating config file /etc/php/8.4/mods-available/sysvshm.ini with new version
Creating config file /etc/php/8.4/mods-available/tokenizer.ini with new version
Setting up php8.4-opcache (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/opcache.ini with new version
Setting up php8.4-readline (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/readline.ini with new version
Setting up php8.4-cli (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/cli/php.ini with new version
Setting up php8.4-fpm (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/fpm/php.ini with new version
NOTICE: Not enabling PHP 8.4 FPM by default.
NOTICE: To enable PHP 8.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Created symlink /etc/systemd/system/multi-user.target.wants/php8.4-fpm.service → /lib/systemd/system/php8.4-fpm.service.
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for php8.4-cli (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Processing triggers for php8.4-fpm (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
NOTICE: Not enabling PHP 8.4 FPM by default.
NOTICE: To enable PHP 8.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
packages have been installed but needrestart is suspended
Scanning processes...
Scanning linux images...
Running kernel seems to be up-to-date.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- If everything looks good so far, the migration of the settings from php-8.1 to php-8.4 can be started. If
you answer [ no ] here or abort the migration process on some point (with Ctrl-C), you can always call and
start this step again with
ncadmin@nas.redacted.local:~$ php-updater 8.1 8.4
to finalize or redo the migration.
- Please be aware that a malicious configuration under php-8.1 will also be migrated. This script does not
yet check for all thinkable wrong configurations. This will change step by step in future.
Q: Proceed with next step? ([y]es or [n]o) [yes]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. etx_state() cleanup orphaned entries from extensions state registry .
. etx_state() fix extensions state registry /var/lib/php/modules .
. detect actually installed extensions .
. assign detected extensions to their corresponding package .
. detect extensions installed by admin .
. searching packaged versions for php8.1 extensions not installed by dpkg .
. searching packaged versions for php8.4 extensions not installed by dpkg .
==============================================================================
actual PHP related packages installed and managed by dpkg
X Package Version Status
------------------------------------------------------------------------------
- php-common 2:101~+ubuntu22.04.1+deb.sury.org+1 im
DEP php-json 2:8.1+92ubuntu1 hm
DEP php-mysql 2:8.1+92ubuntu1 hm
- php-pear 1:1.10.12+submodules+notgz+20210212-1ubuntu3 hm
DEP php-sqlite3 2:8.1+92ubuntu1 hm
- php8.1-bcmath 8.1.2-1ubuntu2.23 hm
\included module: bcmath
- php8.1-bz2 8.1.2-1ubuntu2.23 hm
\included module: bz2
SAPI php8.1-cli 8.1.2-1ubuntu2.23 hm
\php binary /usr/bin/php8.1 <ACTIVE> linked to generic /usr/bin/php
- php8.1-common 8.1.2-1ubuntu2.23 hm
\included modules: calendar ctype exif ffi fileinfo ftp gettext iconv pdo
phar posix shmop sockets sysvmsg sysvsem sysvshm tokenizer
- php8.1-curl 8.1.2-1ubuntu2.23 hm
\included module: curl
- php8.1-dev 8.1.2-1ubuntu2.23 hm
SAPI php8.1-fpm 8.1.2-1ubuntu2.23 hm
\listening on unix socket /run/php/php8.1-fpm.nextcloud.sock <CONNECTED> apache2
- php8.1-gd 8.1.2-1ubuntu2.23 hm
\included module: gd
- php8.1-gmp 8.1.2-1ubuntu2.23 hm
\included module: gmp
- php8.1-imap 8.1.2-1ubuntu2.23 hm
\included module: imap
- php8.1-intl 8.1.2-1ubuntu2.23 hm
\included module: intl
- php8.1-ldap 8.1.2-1ubuntu2.23 hm
\included module: ldap
- php8.1-mbstring 8.1.2-1ubuntu2.23 hm
\included module: mbstring
- php8.1-mysql 8.1.2-1ubuntu2.23 hm
\included modules: mysqli mysqlnd pdo_mysql
- php8.1-opcache 8.1.2-1ubuntu2.23 hm
\included module: opcache
- php8.1-pgsql 8.1.2-1ubuntu2.23 hm
\included modules: pdo_pgsql pgsql
- php8.1-readline 8.1.2-1ubuntu2.23 hm
\included module: readline
- php8.1-soap 8.1.2-1ubuntu2.23 hm
\included module: soap
- php8.1-sqlite3 8.1.2-1ubuntu2.23 hm
\included modules: pdo_sqlite sqlite3
- php8.1-xml 8.1.2-1ubuntu2.23 hm
\included modules: dom simplexml xml xmlreader xmlwriter xsl
- php8.1-zip 8.1.2-1ubuntu2.23 hm
\included module: zip
SAPI php8.4-cli 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\php binary /usr/bin/php8.4 <<INACTIVE not linked
- php8.4-common 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 ia
\included modules: calendar ctype exif ffi fileinfo ftp gettext iconv pdo
phar posix shmop sockets sysvmsg sysvsem sysvshm tokenizer
SAPI php8.4-fpm 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\listening on unix socket /run/php/php8.4-fpm.sock <<NOT CONNECTED
- php8.4-opcache 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 ia
\included module: opcache
- php8.4-readline 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 ia
\included module: readline
- pkg-php-tools 1.42build1 im
------------------------------------------------------------------------------
actual PHP pecl extensions NOT installed and managed by dpkg
------------------------------------------------------------------------------
- php8.1
\modules installed by admin: igbinary redis smbclient
------------------------------------------------------------------------------
Status: - First letter (Desired Action): - Second letter (Package Status):
u=Unknown - i=Install - h=Hold a=Automatic - m=Manual
------------------------------------------------------------------------------
You can switch the <ACTIVE> and <CONNECTED> version with:
php-updater --switch-version
------------------------------------------------------------------------------
You can call this list with: php-updater --list-installed
------------------------------------------------------------------------------
. searching misconfigurations: unused SAPIs .
⚠: There are unnecessary dependency packages (php-json, php-mysql and php-sqlite3) installed on this machine.
I: Dependency packages have no other function than to install other packages with the final binaries. For
example, php-apcu depends on the newest binary package, like php8.4-apcu. The downside is that this can
lead to an unwanted update to a new version of that package, which can result in difficult-to-debug issues,
such as internal server errors. It is strongly recommended to remove these packages before updating, as the
removal will make your system more resilient against unintended changes made without your decision.
- This script can remove these packages in a safe way.
Q: Do you want to remove the dependency packages php-json, php-mysql and php-sqlite3 now?
Make your choice: ([y]es or [n]o) [yes]: n
I: You answered [no], nothing changed.
⚠: WARNING: You should absolutely know what you are doing if you do not follow the script's advice, as it may
result in an unstable system and affect the script's execution down the line! I may not be able to help
with subsequent errors.
. searching misconfigurations: meta-packages .
. check_config() searching known configuration errors .
. check_config() searching known configuration errors in php8.1: check_invalid_sections .
. check_config() searching known configuration errors in php8.1: ext_missing_equalsigns .
. check_config() searching known configuration errors in php8.1: ext_double_definitions .
. check_config() searching known configuration errors in php8.1: uncommented priority definitions .
. check_config() searching known configuration errors in php8.1: checking core .
. check_config() searching known configuration errors in php8.1: checking bcmath .
. check_config() searching known configuration errors in php8.1: checking bz2 .
. check_config() searching known configuration errors in php8.1: checking calendar .
. check_config() searching known configuration errors in php8.1: checking ctype .
. check_config() searching known configuration errors in php8.1: checking curl .
. check_config() searching known configuration errors in php8.1: checking dom .
. check_config() searching known configuration errors in php8.1: checking exif .
. check_config() searching known configuration errors in php8.1: checking ffi .
. check_config() searching known configuration errors in php8.1: checking fileinfo .
. check_config() searching known configuration errors in php8.1: checking ftp .
. check_config() searching known configuration errors in php8.1: checking gd .
. check_config() searching known configuration errors in php8.1: checking gettext .
. check_config() searching known configuration errors in php8.1: checking gmp .
. check_config() searching known configuration errors in php8.1: checking iconv .
. check_config() searching known configuration errors in php8.1: checking igbinary .
. check_config() searching known configuration errors in php8.1: checking imap .
. check_config() searching known configuration errors in php8.1: checking intl .
. check_config() searching known configuration errors in php8.1: checking ldap .
. check_config() searching known configuration errors in php8.1: checking mbstring .
. check_config() searching known configuration errors in php8.1: checking mysqli .
. check_config() searching known configuration errors in php8.1: checking mysqlnd .
. check_config() searching known configuration errors in php8.1: checking opcache .
. check_config() searching known configuration errors in php8.1: checking pdo .
. check_config() searching known configuration errors in php8.1: checking pdo_mysql .
. check_config() searching known configuration errors in php8.1: checking pdo_pgsql .
. check_config() searching known configuration errors in php8.1: checking pdo_sqlite .
. check_config() searching known configuration errors in php8.1: checking pgsql .
. check_config() searching known configuration errors in php8.1: checking phar .
. check_config() searching known configuration errors in php8.1: checking posix .
. check_config() searching known configuration errors in php8.1: checking readline .
. check_config() searching known configuration errors in php8.1: checking redis .
. check_config() searching known configuration errors in php8.1: checking shmop .
. check_config() searching known configuration errors in php8.1: checking simplexml .
. check_config() searching known configuration errors in php8.1: checking smbclient .
. check_config() searching known configuration errors in php8.1: checking soap .
. check_config() searching known configuration errors in php8.1: checking sockets .
. check_config() searching known configuration errors in php8.1: checking sqlite3 .
. check_config() searching known configuration errors in php8.1: checking sysvmsg .
. check_config() searching known configuration errors in php8.1: checking sysvsem .
. check_config() searching known configuration errors in php8.1: checking sysvshm .
. check_config() searching known configuration errors in php8.1: checking tokenizer .
. check_config() searching known configuration errors in php8.1: checking xml .
. check_config() searching known configuration errors in php8.1: checking xmlreader .
. check_config() searching known configuration errors in php8.1: checking xmlwriter .
. check_config() searching known configuration errors in php8.1: checking xsl .
. check_config() searching known configuration errors in php8.1: checking zip .
. searching for php8.4 packages yet to be installed .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- You entered "8.1" as old and "8.4" as new version. Although php8.4 is installed, some php8.4 packages are
still missing compared to php8.1 and the minimum packages that are needed to run a server like Nextcloud.
These are the missing ones:
php8.4-apcu, php8.4-bcmath, php8.4-bz2, php8.4-curl, php8.4-dev, php8.4-gd, php8.4-gmp, php8.4-igbinary,
php8.4-imap, php8.4-intl, php8.4-ldap, php8.4-mbstring, php8.4-mysql, php8.4-pgsql, php8.4-redis,
php8.4-smbclient, php8.4-soap, php8.4-sqlite3, php8.4-xml and php8.4-zip
If you answer [ no ] here, the script will continue without installing these packages.
Q: Do you want to install these packages? ([y]es or [n]o) [yes]: y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. detect actually installed extensions .
. assign detected extensions to their corresponding package .
. detect extensions installed by admin .
. searching packaged versions for php8.1 extensions not installed by dpkg .
. performing thorough review (dry run) of package sources and for candidate availability .
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libabsl20210324 libavif13 libde265-0 libgav1-0 libgd3 libheif1 libimagequant0 libyuv0
Suggested packages:
libgd-tools dh-php
The following NEW packages will be installed:
libabsl20210324 libavif13 libde265-0 libgav1-0 libheif1 libimagequant0 libyuv0 php8.4-apcu php8.4-bcmath php8.4-bz2 php8.4-curl php8.4-dev php8.4-gd php8.4-gmp php8.4-igbinary php8.4-imap
php8.4-intl php8.4-ldap php8.4-mbstring php8.4-mysql php8.4-pgsql php8.4-redis php8.4-smbclient php8.4-soap php8.4-sqlite3 php8.4-xml php8.4-zip
The following packages will be upgraded:
libgd3
1 upgraded, 27 newly installed, 0 to remove and 57 not upgraded.
Need to get 4551 kB of archives.
After this operation, 18.9 MB of additional disk space will be used.
Get:1 https://ftp.uni-stuttgart.de/ubuntu jammy-updates/main amd64 libabsl20210324 amd64 0~20210324.2-2ubuntu0.3 [386 kB]
Get:2 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-apcu amd64 5.1.28-1+ubuntu22.04.1+deb.sury.org+1 [50.7 kB]
Get:3 https://ftp.uni-stuttgart.de/ubuntu jammy/universe amd64 libgav1-0 amd64 0.17.0-1build1 [336 kB]
Get:4 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-igbinary amd64 3.2.16-6+ubuntu22.04.1+deb.sury.org+1 [38.2 kB]
Get:5 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-imap amd64 3:1.0.3-2+ubuntu22.04.1+deb.sury.org+1 [39.3 kB]
Get:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-redis amd64 6.3.0-2+ubuntu22.04.1+deb.sury.org+1 [210 kB]
Get:7 https://ftp.uni-stuttgart.de/ubuntu jammy/universe amd64 libyuv0 amd64 0.0~git20220104.b91df1a-2 [154 kB]
Get:8 https://ftp.uni-stuttgart.de/ubuntu jammy/universe amd64 libavif13 amd64 0.9.3-3 [69.5 kB]
Get:9 https://ftp.uni-stuttgart.de/ubuntu jammy-updates/universe amd64 libde265-0 amd64 1.0.8-1ubuntu0.3 [290 kB]
Get:10 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-smbclient amd64 1.1.2-4+ubuntu22.04.1+deb.sury.org+1 [25.9 kB]
Get:11 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 libgd3 amd64 2.3.3-13+ubuntu22.04.1+deb.sury.org+1 [148 kB]
Get:12 https://ftp.uni-stuttgart.de/ubuntu jammy/universe amd64 libheif1 amd64 1.12.0-2build1 [196 kB]
Get:13 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-bcmath amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [28.4 kB]
Get:14 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-bz2 amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [11.6 kB]
Get:15 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-curl amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [43.1 kB]
Get:16 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-dev amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [594 kB]
Get:17 https://ftp.uni-stuttgart.de/ubuntu jammy/main amd64 libimagequant0 amd64 2.17.0-1 [34.6 kB]
Get:18 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-gd amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [40.1 kB]
Get:19 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-gmp amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [23.5 kB]
Get:20 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-intl amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [177 kB]
Get:21 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-ldap amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [35.8 kB]
Get:22 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-mbstring amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [546 kB]
Get:23 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-mysql amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [133 kB]
Get:24 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-pgsql amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [79.1 kB]
Get:25 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-soap amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [137 kB]
Get:26 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-sqlite3 amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [38.5 kB]
Get:27 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-xml amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [655 kB]
Get:28 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 php8.4-zip amd64 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 [31.6 kB]
Fetched 4551 kB in 3s (1746 kB/s)
Selecting previously unselected package php8.4-apcu.
(Reading database ... 154526 files and directories currently installed.)
Preparing to unpack .../00-php8.4-apcu_5.1.28-1+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-apcu (5.1.28-1+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-igbinary.
Preparing to unpack .../01-php8.4-igbinary_3.2.16-6+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-igbinary (3.2.16-6+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-imap.
Preparing to unpack .../02-php8.4-imap_3%3a1.0.3-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-imap (3:1.0.3-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-redis.
Preparing to unpack .../03-php8.4-redis_6.3.0-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-redis (6.3.0-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-smbclient.
Preparing to unpack .../04-php8.4-smbclient_1.1.2-4+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-smbclient (1.1.2-4+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package libabsl20210324:amd64.
Preparing to unpack .../05-libabsl20210324_0~20210324.2-2ubuntu0.3_amd64.deb ...
Unpacking libabsl20210324:amd64 (0~20210324.2-2ubuntu0.3) ...
Selecting previously unselected package libgav1-0:amd64.
Preparing to unpack .../06-libgav1-0_0.17.0-1build1_amd64.deb ...
Unpacking libgav1-0:amd64 (0.17.0-1build1) ...
Selecting previously unselected package libyuv0:amd64.
Preparing to unpack .../07-libyuv0_0.0~git20220104.b91df1a-2_amd64.deb ...
Unpacking libyuv0:amd64 (0.0~git20220104.b91df1a-2) ...
Selecting previously unselected package libavif13:amd64.
Preparing to unpack .../08-libavif13_0.9.3-3_amd64.deb ...
Unpacking libavif13:amd64 (0.9.3-3) ...
Selecting previously unselected package libde265-0:amd64.
Preparing to unpack .../09-libde265-0_1.0.8-1ubuntu0.3_amd64.deb ...
Unpacking libde265-0:amd64 (1.0.8-1ubuntu0.3) ...
Selecting previously unselected package libheif1:amd64.
Preparing to unpack .../10-libheif1_1.12.0-2build1_amd64.deb ...
Unpacking libheif1:amd64 (1.12.0-2build1) ...
Selecting previously unselected package libimagequant0:amd64.
Preparing to unpack .../11-libimagequant0_2.17.0-1_amd64.deb ...
Unpacking libimagequant0:amd64 (2.17.0-1) ...
Preparing to unpack .../12-libgd3_2.3.3-13+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking libgd3:amd64 (2.3.3-13+ubuntu22.04.1+deb.sury.org+1) over (2.3.0-2ubuntu2.3) ...
Selecting previously unselected package php8.4-bcmath.
Preparing to unpack .../13-php8.4-bcmath_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-bcmath (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-bz2.
Preparing to unpack .../14-php8.4-bz2_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-bz2 (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-curl.
Preparing to unpack .../15-php8.4-curl_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-curl (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-dev.
Preparing to unpack .../16-php8.4-dev_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-dev (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-gd.
Preparing to unpack .../17-php8.4-gd_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-gd (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-gmp.
Preparing to unpack .../18-php8.4-gmp_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-gmp (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-intl.
Preparing to unpack .../19-php8.4-intl_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-intl (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-ldap.
Preparing to unpack .../20-php8.4-ldap_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-ldap (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-mbstring.
Preparing to unpack .../21-php8.4-mbstring_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-mbstring (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-mysql.
Preparing to unpack .../22-php8.4-mysql_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-mysql (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-pgsql.
Preparing to unpack .../23-php8.4-pgsql_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-pgsql (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-soap.
Preparing to unpack .../24-php8.4-soap_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-soap (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-sqlite3.
Preparing to unpack .../25-php8.4-sqlite3_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-sqlite3 (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-xml.
Preparing to unpack .../26-php8.4-xml_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-xml (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Selecting previously unselected package php8.4-zip.
Preparing to unpack .../27-php8.4-zip_8.4.18-2+ubuntu22.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.4-zip (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-ldap (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/ldap.ini with new version
Setting up php8.4-imap (3:1.0.3-2+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-dev (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-mbstring (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/mbstring.ini with new version
Setting up php8.4-mysql (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/mysqlnd.ini with new version
Creating config file /etc/php/8.4/mods-available/mysqli.ini with new version
Creating config file /etc/php/8.4/mods-available/pdo_mysql.ini with new version
Setting up php8.4-curl (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/curl.ini with new version
Setting up php8.4-pgsql (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/pgsql.ini with new version
Creating config file /etc/php/8.4/mods-available/pdo_pgsql.ini with new version
Setting up php8.4-sqlite3 (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/sqlite3.ini with new version
Creating config file /etc/php/8.4/mods-available/pdo_sqlite.ini with new version
Setting up php8.4-bcmath (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/bcmath.ini with new version
Setting up php8.4-gmp (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/gmp.ini with new version
Setting up libimagequant0:amd64 (2.17.0-1) ...
Setting up php8.4-zip (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/zip.ini with new version
Setting up libabsl20210324:amd64 (0~20210324.2-2ubuntu0.3) ...
Setting up php8.4-smbclient (1.1.2-4+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-bz2 (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/bz2.ini with new version
Setting up php8.4-apcu (5.1.28-1+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-igbinary (3.2.16-6+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-xml (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/dom.ini with new version
Creating config file /etc/php/8.4/mods-available/simplexml.ini with new version
Creating config file /etc/php/8.4/mods-available/xml.ini with new version
Creating config file /etc/php/8.4/mods-available/xmlreader.ini with new version
Creating config file /etc/php/8.4/mods-available/xmlwriter.ini with new version
Creating config file /etc/php/8.4/mods-available/xsl.ini with new version
Setting up libde265-0:amd64 (1.0.8-1ubuntu0.3) ...
Setting up php8.4-soap (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/soap.ini with new version
Setting up libyuv0:amd64 (0.0~git20220104.b91df1a-2) ...
Setting up php8.4-intl (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/intl.ini with new version
Setting up php8.4-redis (6.3.0-2+ubuntu22.04.1+deb.sury.org+1) ...
Setting up libheif1:amd64 (1.12.0-2build1) ...
Setting up libgav1-0:amd64 (0.17.0-1build1) ...
Setting up libavif13:amd64 (0.9.3-3) ...
Setting up libgd3:amd64 (2.3.3-13+ubuntu22.04.1+deb.sury.org+1) ...
Setting up php8.4-gd (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
Creating config file /etc/php/8.4/mods-available/gd.ini with new version
Processing triggers for php8.4-fpm (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
NOTICE: Not enabling PHP 8.4 FPM by default.
NOTICE: To enable PHP 8.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Processing triggers for libc-bin (2.35-0ubuntu3.13) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for php8.4-cli (8.4.18-2+ubuntu22.04.1+deb.sury.org+1) ...
packages have been installed but needrestart is suspended
Scanning processes...
Scanning candidates...
Scanning linux images...
Running kernel seems to be up-to-date.
Restarting services...
systemctl restart php8.1-fpm.service
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- If everything looks good so far, the migration of the settings from php-8.1 to php-8.4 can be started. If
you answer [ no ] here or abort the migration process on some point (with Ctrl-C), you can always call and
start this step again with
ncadmin@nas.redacted.local:~$ php-updater 8.1 8.4
to finalize or redo the migration.
- Please be aware that a malicious configuration under php-8.1 will also be migrated. This script does not
yet check for all thinkable wrong configurations. This will change step by step in future.
Q: Proceed with next step? ([y]es or [n]o) [yes]: y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. etx_state() cleanup orphaned entries from extensions state registry .
. etx_state() fix extensions state registry /var/lib/php/modules .
. detect actually installed extensions .
. assign detected extensions to their corresponding package .
. detect extensions installed by admin .
. searching packaged versions for php8.1 extensions not installed by dpkg .
. searching packaged versions for php8.4 extensions not installed by dpkg .
==============================================================================
actual PHP related packages installed and managed by dpkg
X Package Version Status
------------------------------------------------------------------------------
- php-common 2:101~+ubuntu22.04.1+deb.sury.org+1 im
DEP php-json 2:8.1+92ubuntu1 hm
DEP php-mysql 2:8.1+92ubuntu1 hm
- php-pear 1:1.10.12+submodules+notgz+20210212-1ubuntu3 hm
DEP php-sqlite3 2:8.1+92ubuntu1 hm
- php8.1-bcmath 8.1.2-1ubuntu2.23 hm
\included module: bcmath
- php8.1-bz2 8.1.2-1ubuntu2.23 hm
\included module: bz2
SAPI php8.1-cli 8.1.2-1ubuntu2.23 hm
\php binary /usr/bin/php8.1 <ACTIVE> linked to generic /usr/bin/php
- php8.1-common 8.1.2-1ubuntu2.23 hm
\included modules: calendar ctype exif ffi fileinfo ftp gettext iconv pdo
phar posix shmop sockets sysvmsg sysvsem sysvshm tokenizer
- php8.1-curl 8.1.2-1ubuntu2.23 hm
\included module: curl
- php8.1-dev 8.1.2-1ubuntu2.23 hm
SAPI php8.1-fpm 8.1.2-1ubuntu2.23 hm
\listening on unix socket /run/php/php8.1-fpm.nextcloud.sock <CONNECTED> apache2
- php8.1-gd 8.1.2-1ubuntu2.23 hm
\included module: gd
- php8.1-gmp 8.1.2-1ubuntu2.23 hm
\included module: gmp
- php8.1-imap 8.1.2-1ubuntu2.23 hm
\included module: imap
- php8.1-intl 8.1.2-1ubuntu2.23 hm
\included module: intl
- php8.1-ldap 8.1.2-1ubuntu2.23 hm
\included module: ldap
- php8.1-mbstring 8.1.2-1ubuntu2.23 hm
\included module: mbstring
- php8.1-mysql 8.1.2-1ubuntu2.23 hm
\included modules: mysqli mysqlnd pdo_mysql
- php8.1-opcache 8.1.2-1ubuntu2.23 hm
\included module: opcache
- php8.1-pgsql 8.1.2-1ubuntu2.23 hm
\included modules: pdo_pgsql pgsql
- php8.1-readline 8.1.2-1ubuntu2.23 hm
\included module: readline
- php8.1-soap 8.1.2-1ubuntu2.23 hm
\included module: soap
- php8.1-sqlite3 8.1.2-1ubuntu2.23 hm
\included modules: pdo_sqlite sqlite3
- php8.1-xml 8.1.2-1ubuntu2.23 hm
\included modules: dom simplexml xml xmlreader xmlwriter xsl
- php8.1-zip 8.1.2-1ubuntu2.23 hm
\included module: zip
- php8.4-apcu 5.1.28-1+ubuntu22.04.1+deb.sury.org+1 im
\included module: apcu
- php8.4-bcmath 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: bcmath
- php8.4-bz2 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: bz2
SAPI php8.4-cli 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\php binary /usr/bin/php8.4 <<INACTIVE not linked
- php8.4-common 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included modules: calendar ctype exif ffi fileinfo ftp gettext iconv pdo
phar posix shmop sockets sysvmsg sysvsem sysvshm tokenizer
- php8.4-curl 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: curl
- php8.4-dev 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
SAPI php8.4-fpm 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\listening on unix socket /run/php/php8.4-fpm.sock <<NOT CONNECTED
- php8.4-gd 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: gd
- php8.4-gmp 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: gmp
- php8.4-igbinary 3.2.16-6+ubuntu22.04.1+deb.sury.org+1 im
\included module: igbinary
- php8.4-imap 3:1.0.3-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: imap
- php8.4-intl 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: intl
- php8.4-ldap 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: ldap
- php8.4-mbstring 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: mbstring
- php8.4-mysql 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included modules: mysqli mysqlnd pdo_mysql
- php8.4-opcache 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: opcache
- php8.4-pgsql 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included modules: pdo_pgsql pgsql
- php8.4-readline 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: readline
- php8.4-redis 6.3.0-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: redis
- php8.4-smbclient 1.1.2-4+ubuntu22.04.1+deb.sury.org+1 im
\included module: smbclient
- php8.4-soap 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: soap
- php8.4-sqlite3 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included modules: pdo_sqlite sqlite3
- php8.4-xml 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included modules: dom simplexml xml xmlreader xmlwriter xsl
- php8.4-zip 8.4.18-2+ubuntu22.04.1+deb.sury.org+1 im
\included module: zip
- pkg-php-tools 1.42build1 im
------------------------------------------------------------------------------
actual PHP pecl extensions NOT installed and managed by dpkg
------------------------------------------------------------------------------
- php8.1
\modules installed by admin: igbinary redis smbclient
------------------------------------------------------------------------------
Status: - First letter (Desired Action): - Second letter (Package Status):
u=Unknown - i=Install - h=Hold a=Automatic - m=Manual
------------------------------------------------------------------------------
You can switch the <ACTIVE> and <CONNECTED> version with:
php-updater --switch-version
------------------------------------------------------------------------------
You can call this list with: php-updater --list-installed
------------------------------------------------------------------------------
. searching misconfigurations: unused SAPIs .
⚠: There are unnecessary dependency packages (php-json, php-mysql and php-sqlite3) installed on this machine.
I: Dependency packages have no other function than to install other packages with the final binaries. For
example, php-apcu depends on the newest binary package, like php8.4-apcu. The downside is that this can
lead to an unwanted update to a new version of that package, which can result in difficult-to-debug issues,
such as internal server errors. It is strongly recommended to remove these packages before updating, as the
removal will make your system more resilient against unintended changes made without your decision.
- This script can remove these packages in a safe way.
Q: Do you want to remove the dependency packages php-json, php-mysql and php-sqlite3 now?
Make your choice: ([y]es or [n]o) [yes]: n
I: You answered [no], nothing changed.
⚠: WARNING: You should absolutely know what you are doing if you do not follow the script's advice, as it may
result in an unstable system and affect the script's execution down the line! I may not be able to help
with subsequent errors.
. searching misconfigurations: meta-packages .
. check_config() searching known configuration errors .
. check_config() searching known configuration errors in php8.1: check_invalid_sections .
. check_config() searching known configuration errors in php8.1: ext_missing_equalsigns .
. check_config() searching known configuration errors in php8.1: ext_double_definitions .
. check_config() searching known configuration errors in php8.1: uncommented priority definitions .
. check_config() searching known configuration errors in php8.1: checking core .
. check_config() searching known configuration errors in php8.1: checking bcmath .
. check_config() searching known configuration errors in php8.1: checking bz2 .
. check_config() searching known configuration errors in php8.1: checking calendar .
. check_config() searching known configuration errors in php8.1: checking ctype .
. check_config() searching known configuration errors in php8.1: checking curl .
. check_config() searching known configuration errors in php8.1: checking dom .
. check_config() searching known configuration errors in php8.1: checking exif .
. check_config() searching known configuration errors in php8.1: checking ffi .
. check_config() searching known configuration errors in php8.1: checking fileinfo .
. check_config() searching known configuration errors in php8.1: checking ftp .
. check_config() searching known configuration errors in php8.1: checking gd .
. check_config() searching known configuration errors in php8.1: checking gettext .
. check_config() searching known configuration errors in php8.1: checking gmp .
. check_config() searching known configuration errors in php8.1: checking iconv .
. check_config() searching known configuration errors in php8.1: checking igbinary .
. check_config() searching known configuration errors in php8.1: checking imap .
. check_config() searching known configuration errors in php8.1: checking intl .
. check_config() searching known configuration errors in php8.1: checking ldap .
. check_config() searching known configuration errors in php8.1: checking mbstring .
. check_config() searching known configuration errors in php8.1: checking mysqli .
. check_config() searching known configuration errors in php8.1: checking mysqlnd .
. check_config() searching known configuration errors in php8.1: checking opcache .
. check_config() searching known configuration errors in php8.1: checking pdo .
. check_config() searching known configuration errors in php8.1: checking pdo_mysql .
. check_config() searching known configuration errors in php8.1: checking pdo_pgsql .
. check_config() searching known configuration errors in php8.1: checking pdo_sqlite .
. check_config() searching known configuration errors in php8.1: checking pgsql .
. check_config() searching known configuration errors in php8.1: checking phar .
. check_config() searching known configuration errors in php8.1: checking posix .
. check_config() searching known configuration errors in php8.1: checking readline .
. check_config() searching known configuration errors in php8.1: checking redis .
. check_config() searching known configuration errors in php8.1: checking shmop .
. check_config() searching known configuration errors in php8.1: checking simplexml .
. check_config() searching known configuration errors in php8.1: checking smbclient .
. check_config() searching known configuration errors in php8.1: checking soap .
. check_config() searching known configuration errors in php8.1: checking sockets .
. check_config() searching known configuration errors in php8.1: checking sqlite3 .
. check_config() searching known configuration errors in php8.1: checking sysvmsg .
. check_config() searching known configuration errors in php8.1: checking sysvsem .
. check_config() searching known configuration errors in php8.1: checking sysvshm .
. check_config() searching known configuration errors in php8.1: checking tokenizer .
. check_config() searching known configuration errors in php8.1: checking xml .
. check_config() searching known configuration errors in php8.1: checking xmlreader .
. check_config() searching known configuration errors in php8.1: checking xmlwriter .
. check_config() searching known configuration errors in php8.1: checking xsl .
. check_config() searching known configuration errors in php8.1: checking zip .
. searching for php8.4 packages yet to be installed .
. searching changed ini- and conf-files for php8.1 to be adapted into php8.4 .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Q: Do you want to migrate the values for the Command Line Interpreter SAPI from the php.ini for php8.1-cli
into the corresponding php.ini for php8.4-cli?
Make your choice: ([y]es or [n]o) [yes]: y
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/cli/php.ini with /etc/php/8.1/cli/php.ini .
- The value for "error_reporting" is "E_ALL & ~E_DEPRECATED & ~E_STRICT" in the php.ini of php8.1-cli in the
php.ini of php8.4-cli it is "E_ALL & ~E_DEPRECATED"
the value defaults to "NULL"
I: The directive "error_reporting" will not be changed by this script for the moment. If you want to set this
directive to a specific value for the Command Line Interpreter SAPI, you will have to edit the file
/etc/php/8.4/cli/php.ini with an editor of your choice.
Refer to https://www.php.net/manual/errorfunc.configuration.php#ini.error_reporting for further information
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/cli/php.ini with /etc/php/8.1/cli/php.ini .
- Directive "mysqli.reconnect" with value "Off" not found in /etc/php/8.4/cli/php.ini
the value defaults to "0"
this is the changelog of this directive:
- "Removed as of PHP 8.2.0"
Tip: do not integrate this directive into the new config if it got removed as off the new version.
NOTE: The default answer here is [no]. You should always accept the default answer (press ENTER) when [no] is
given, unless you are absolutely sure what you are doing.
Q: Do you want to append "mysqli.reconnect" with value "Off" at the end of the [MySQLi] section?
Make your choice: ([y]es or [n]o) [no]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/cli/php.ini with /etc/php/8.1/cli/php.ini .
- The value for "opcache.enable_cli" is "1" in the php.ini of php8.1-cli and is not set in the php.ini of
php8.4-cli
the value defaults to "0"
this is the changelog of this directive:
- "Between PHP 7.1.2 and 7.1.6 inclusive, the default was 1"
Q: Do you want to assign "1" to "opcache.enable_cli"? ([y]es or [n]o) [yes]:
R: Added "opcache.enable_cli = 1" after line 1674 in /etc/php/8.4/cli/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/cli/php.ini with /etc/php/8.1/cli/php.ini .
- Directive "session.sid_bits_per_character" with value "5" not found in /etc/php/8.4/cli/php.ini
the value defaults to "4"
this is the changelog of this directive:
- "Available as of PHP 7.1.0. Deprecated as of PHP 8.4.0"
TIP: consider to not integrate this directive into the new config if it got marked as deprecated as off the
new version.
NOTE: The default answer here is [no]. You can simply accept the default answer (press ENTER) when [no] is
given, unless you know what you are doing.
Q: Do you want to append "session.sid_bits_per_character" with value "5" at the end of the [Session] section?
Make your choice: ([y]es or [n]o) [no]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/cli/php.ini with /etc/php/8.1/cli/php.ini .
- Directive "session.sid_length" with value "26" not found in /etc/php/8.4/cli/php.ini
the value defaults to "32"
this is the changelog of this directive:
- "Available as of PHP 7.1.0. Deprecated as of PHP 8.4.0"
TIP: consider to not integrate this directive into the new config if it got marked as deprecated as off the
new version.
NOTE: The default answer here is [no]. You can simply accept the default answer (press ENTER) when [no] is
given, unless you know what you are doing.
Q: Do you want to append "session.sid_length" with value "26" at the end of the [Session] section?
Make your choice: ([y]es or [n]o) [no]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/cli/php.ini with /etc/php/8.1/cli/php.ini .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Q: Do you want to migrate the values for the FastCGI Process Manager SAPI from the php.ini for php8.1-fpm into
the corresponding php.ini for php8.4-fpm?
Make your choice: ([y]es or [n]o) [yes]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "max_execution_time" is "3500" in the php.ini of php8.1-fpm in the php.ini of php8.4-fpm it
is "30"
the value defaults to "30"
Q: Do you want to set "max_execution_time" to "3500"? ([y]es or [n]o) [yes]:
R: Changed max_execution_time from "30" to "3500"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "max_input_time" is "3600" in the php.ini of php8.1-fpm in the php.ini of php8.4-fpm it is
"60"
the value defaults to "-1"
Q: Do you want to set "max_input_time" to "3600"? ([y]es or [n]o) [yes]:
R: Changed max_input_time from "60" to "3600"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "memory_limit" is "2048M" in the php.ini of php8.1-fpm in the php.ini of php8.4-fpm it is
"128M"
the value defaults to "128M"
Q: Do you want to set "memory_limit" to "2048M"? ([y]es or [n]o) [yes]:
R: Changed memory_limit from "128M" to "2048M"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "error_reporting" is "E_ALL & ~E_DEPRECATED & ~E_STRICT" in the php.ini of php8.1-fpm in the
php.ini of php8.4-fpm it is "E_ALL & ~E_DEPRECATED"
the value defaults to "NULL"
I: The directive "error_reporting" will not be changed by this script for the moment. If you want to set this
directive to a specific value for the FastCGI Process Manager SAPI, you will have to edit the file
/etc/php/8.4/fpm/php.ini with an editor of your choice.
Refer to https://www.php.net/manual/errorfunc.configuration.php#ini.error_reporting for further information
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "post_max_size" is "5000M" in the php.ini of php8.1-fpm in the php.ini of php8.4-fpm it is
"8M"
the value defaults to "8M"
Q: Do you want to set "post_max_size" to "5000M"? ([y]es or [n]o) [yes]:
R: Changed post_max_size from "8M" to "5000M"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
\ . comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "upload_max_filesize" is "5000M" in the php.ini of php8.1-fpm in the php.ini of php8.4-fpm it
is "2M"
the value defaults to "2M"
Q: Do you want to set "upload_max_filesize" to "5000M"? ([y]es or [n]o) [yes]:
R: Changed upload_max_filesize from "2M" to "5000M"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "date.timezone" is "Europe/Berlin" in the php.ini of php8.1-fpm and is not set in the php.ini
of php8.4-fpm
the value defaults to "UTC"
this is the changelog of this directive:
- "From PHP 8.2, a warning is emitted when setting this to an invalid value or an empty string"
Q: Do you want to assign "Europe/Berlin" to "date.timezone"? ([y]es or [n]o) [yes]:
R: Added "date.timezone = Europe/Berlin" after line 971 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- Directive "mysqli.reconnect" with value "Off" not found in /etc/php/8.4/fpm/php.ini
the value defaults to "0"
this is the changelog of this directive:
- "Removed as of PHP 8.2.0"
Tip: do not integrate this directive into the new config if it got removed as off the new version.
NOTE: The default answer here is [no]. You should always accept the default answer (press ENTER) when [no] is
given, unless you are absolutely sure what you are doing.
Q: Do you want to append "mysqli.reconnect" with value "Off" at the end of the [MySQLi] section?
Make your choice: ([y]es or [n]o) [no]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.enable" is set to "1" in the php.ini of php8.1-fpm but it is commented out in the
php.ini of php8.4-fpm
the value defaults to "1"
Q: Do you want to uncomment the line "opcache.enable=1" in the new php.ini as well? ([y]es or [n]o) [yes]:
R: Uncommented directive "opcache.enable = 1" at line 1677 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.interned_strings_buffer" is "24" in the php.ini of php8.1-fpm and is not set in the
php.ini of php8.4-fpm
the value defaults to "8"
Q: Do you want to assign "24" to "opcache.interned_strings_buffer"? ([y]es or [n]o) [yes]:
R: Added "opcache.interned_strings_buffer = 24" after line 1686 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.max_accelerated_files" is set to "10000" in the php.ini of php8.1-fpm but it is
commented out in the php.ini of php8.4-fpm
the value defaults to "10000"
Q: Do you want to uncomment the line "opcache.max_accelerated_files=10000" in the new php.ini as well?
Make your choice: ([y]es or [n]o) [yes]:
R: Uncommented directive "opcache.max_accelerated_files = 10000" at line 1691 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.memory_consumption" is "256" in the php.ini of php8.1-fpm and is not set in the
php.ini of php8.4-fpm
the value defaults to "128"
Q: Do you want to assign "256" to "opcache.memory_consumption"? ([y]es or [n]o) [yes]:
R: Added "opcache.memory_consumption = 256" after line 1683 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.revalidate_freq" is "1" in the php.ini of php8.1-fpm and is not set in the php.ini
of php8.4-fpm
the value defaults to "2"
Q: Do you want to assign "1" to "opcache.revalidate_freq"? ([y]es or [n]o) [yes]:
R: Added "opcache.revalidate_freq = 1" after line 1710 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.save_comments" is set to "1" in the php.ini of php8.1-fpm but it is commented out in
the php.ini of php8.4-fpm
the value defaults to "1"
Q: Do you want to uncomment the line "opcache.save_comments=1" in the new php.ini as well?
Make your choice: ([y]es or [n]o) [yes]:
R: Uncommented directive "opcache.save_comments = 1" at line 1718 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "opcache.validate_timestamps" is set to "1" in the php.ini of php8.1-fpm but it is commented
out in the php.ini of php8.4-fpm
the value defaults to "1"
Q: Do you want to uncomment the line "opcache.validate_timestamps=1" in the new php.ini as well?
Make your choice: ([y]es or [n]o) [yes]:
R: Uncommented directive "opcache.validate_timestamps = 1" at line 1705 in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- Directive "session.sid_bits_per_character" with value "5" not found in /etc/php/8.4/fpm/php.ini
the value defaults to "4"
this is the changelog of this directive:
- "Available as of PHP 7.1.0. Deprecated as of PHP 8.4.0"
TIP: consider to not integrate this directive into the new config if it got marked as deprecated as off the
new version.
NOTE: The default answer here is [no]. You can simply accept the default answer (press ENTER) when [no] is
given, unless you know what you are doing.
Q: Do you want to append "session.sid_bits_per_character" with value "5" at the end of the [Session] section?
Make your choice: ([y]es or [n]o) [no]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- Directive "session.sid_length" with value "26" not found in /etc/php/8.4/fpm/php.ini
the value defaults to "32"
this is the changelog of this directive:
- "Available as of PHP 7.1.0. Deprecated as of PHP 8.4.0"
TIP: consider to not integrate this directive into the new config if it got marked as deprecated as off the
new version.
NOTE: The default answer here is [no]. You can simply accept the default answer (press ENTER) when [no] is
given, unless you know what you are doing.
Q: Do you want to append "session.sid_length" with value "26" at the end of the [Session] section?
Make your choice: ([y]es or [n]o) [no]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
- The value for "session.serialize_handler" is set to "php" in the php.ini of php8.4-fpm but it is commented
out in the php.ini of php8.1-fpm
the value defaults to "php"
Q: Do you want to comment out the key "session.serialize_handler" in the new php.ini as well?
Make your choice: ([y]es or [n]o) [yes]:
R: Setting "session.serialize_handler = php" commented out in /etc/php/8.4/fpm/php.ini
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php.ini with /etc/php/8.1/fpm/php.ini .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Q: Do you want to migrate the values for the IMAP module for PHP from the imap.ini for php8.1-imap into the
corresponding imap.ini for php8.4-imap?
Make your choice: ([y]es or [n]o) [yes]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/mods-available/imap.ini with /etc/php/8.1/mods-available/imap.ini .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Q: Do you want to migrate the values for the Zend OpCache module for PHP from the opcache.ini for
php8.1-opcache into the corresponding opcache.ini for php8.4-opcache?
Make your choice: ([y]es or [n]o) [yes]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/mods-available/opcache.ini with /etc/php/8.1/mods-available/opcache.ini .
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Q: Do you want to migrate the values for the FastCGI Process Manager SAPI from the php-fpm.conf for php8.1-fpm
into the corresponding php-fpm.conf for php8.4-fpm?
Make your choice: ([y]es or [n]o) [yes]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php-fpm.conf with /etc/php/8.1/fpm/php-fpm.conf .
- The value for "emergency_restart_interval" is "1m" in the php-fpm.conf of php8.1-fpm and is not set in the
php-fpm.conf of php8.4-fpm
This script could not find any information about this directive on php.net
Q: Do you want to assign "1m" to "emergency_restart_interval"? ([y]es or [n]o) [yes]:
R: Added "emergency_restart_interval = 1m" after line 76 in /etc/php/8.4/fpm/php-fpm.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php-fpm.conf with /etc/php/8.1/fpm/php-fpm.conf .
- The value for "emergency_restart_threshold" is "10" in the php-fpm.conf of php8.1-fpm and is not set in the
php-fpm.conf of php8.4-fpm
This script could not find any information about this directive on php.net
Q: Do you want to assign "10" to "emergency_restart_threshold"? ([y]es or [n]o) [yes]:
R: Added "emergency_restart_threshold = 10" after line 68 in /etc/php/8.4/fpm/php-fpm.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php-fpm.conf with /etc/php/8.1/fpm/php-fpm.conf .
- The value for "process_control_timeout" is "10" in the php-fpm.conf of php8.1-fpm and is not set in the
php-fpm.conf of php8.4-fpm
This script could not find any information about this directive on php.net
Q: Do you want to assign "10" to "process_control_timeout"? ([y]es or [n]o) [yes]:
R: Added "process_control_timeout = 10" after line 84 in /etc/php/8.4/fpm/php-fpm.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. comparing /etc/php/8.4/fpm/php-fpm.conf with /etc/php/8.1/fpm/php-fpm.conf .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- The default fpm pool [www] for php8.1-fpm is deactivated (the file /etc/php/8.1/fpm/pool.d/www.conf has
been renamed to /etc/php/8.1/fpm/pool.d/www.conf.backup) but a custom created pool [Nextcloud] was found
Q: Do you want to migrate this pool from php8.1-fpm to php8.4-fpm? ([y]es or [n]o) [yes]:
R: Successfully moved /etc/php/8.4/fpm/pool.d/www.conf to /etc/php/8.4/fpm/pool.d/www.conf.backup
R: Successfully created poolfile /etc/php/8.4/fpm/pool.d/nextcloud.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
. searching other changed files for php8.1 to be adapted into php8.4 .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- The migration of the settings from php-8.1 to php-8.4 is now completed, unless you have deliberately left
out files or settings. These can be made up at any time with:
ncadmin@nas.redacted.local:~$ php-updater 8.1 8.4
- You now can switch the php version from php-8.1 to php-8.4 for the commandline and your webserver.
Therefore call:
ncadmin@nas.redacted.local:~$ php-updater --switch-version
or run it now:
Q: Do you want to switch the php version now? ([y]es or [n]o) [yes]:
======================================================================================================================
- Here you can switch the default php version linked to the generic /usr/bin/php with the means of the Debian
alternatives system.
All php related packages maintained by the alternatives system will get switched to manual mode instead of
automatic. That will prevent php from changing its version without your dessision.
In this step there is no test, if all required php packages to run a server like Nextcloud are present in
the version you choose. So it is recommended to first run php-updater $old $new, where $old should be the
version that you know exactly that everything has been installed correctly and $new should be the version
that you want to switch to here and now.
this is how the alternatives system is configured at present:
- phar manual /usr/bin/phar8.1
- phar.phar manual /usr/bin/phar.phar8.1
- php manual /usr/bin/php8.1
- php-config manual /usr/bin/php-config8.1
- php-fpm.sock auto /run/php/php8.4-fpm.sock
- phpize manual /usr/bin/phpize8.1
======================================================================================================================
- In the subsequent next step it will switch the webservers to connect to the new php version as well.
However, in some rare special cases, this step may fail though. In such a case you will have to edit the
web server's configuration files yourself to connect it to the PHP socket of your choice.
this is how php is connected to the httpd at present:
- php8.1-fpm
`-listening on unix socket /run/php/php8.1-fpm.nextcloud.sock <CONNECTED> apache2
- php8.4-fpm
`-listening on unix socket /run/php/php8.4-fpm.nextcloud.sock <<NOT CONNECTED
======================================================================================================================
- Switch the default alternatives version for php to:
[1] - php8.1 supported by Nextcloud version 24, 25, 26, 27, 28, 29, 30, 31 and 32
[2] - php8.4 supported by Nextcloud version 31, 32 and 33
[q] - do nothing, quit
- Please make your choice:
You selected option [2] Is this correct?
Confirm your choice: [ y ] for yes, [ n ] for no, [q] to quit
- Confirmed choice [2]: php8.4
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alternatives system is now switched to:
- phar manual /usr/bin/phar8.4
- phar.phar manual /usr/bin/phar.phar8.4
- php manual /usr/bin/php8.4
- php-config manual /usr/bin/php-config8.4
- phpize manual /usr/bin/phpize8.4
Please consider: if some alternatives listed here are not switched to the selected version, then either the
package that provides the binaries for that version is not installed or – in case of php-fpm.sock – the
default fpm-pool [www] has been deactivated in the selected version but not in the version that it shows
here.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I: Detected httpd (webserver): apache2 (status active)
I: Successfully switched the SetHandler FastCGI configuration in apache2 from PHP-FPM version 8.1 to 8.4
. . . searching for other configuration files that may have to be switched . . .
I: These are systemwide the configured fpm pools:
- 8.1 [Nextcloud]
- 8.4 [Nextcloud]
I: This is the only fpm pool configured for the version you selected:
- 8.4 [Nextcloud]
Processing pool: [Nextcloud]...
I: The apache2 server is connected to a PHP-FPM unix-socket, bypassing the usual SetHandler configuration
mechanism.
- this is the old socket: /run/php/php8.1-fpm.nextcloud.sock
- this is the new socket: /run/php/php8.4-fpm.nextcloud.sock
- These are the PHP-FPM socket configurations:
Configfile: /etc/apache2/sites-enabled/adminer.conf -> /etc/apache2/sites-available/adminer.conf
Unix socket: /run/php/php8.1-fpm.nextcloud.sock|fcgi://localhost"
Line-Nr. 33: <FilesMatch "\.php$">
Line-Nr. 34: SetHandler "proxy:unix:/run/php/php8.1-fpm.nextcloud.sock|fcgi://localhost"
Line-Nr. 35: </FilesMatch>
Configfile: /etc/apache2/sites-enabled/nas.redacted.local.conf -> /etc/apache2/sites-available/nas.redacted.local.conf
Unix socket: /run/php/php8.1-fpm.nextcloud.sock|fcgi://localhost"
Line-Nr. 13: <FilesMatch "\.php$">
Line-Nr. 14: SetHandler "proxy:unix:/run/php/php8.1-fpm.nextcloud.sock|fcgi://localhost"
Line-Nr. 15: </FilesMatch>
IMPORTANT: A backup-file /etc/apache2/sites-available/adminer.conf.backup was created with the previous
state. Don't forget to remove that file if everything runs fine.
IMPORTANT: A backup-file /etc/apache2/sites-available/nas.redacted.local.conf.backup was created with the
previous state. Don't forget to remove that file if everything runs fine.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This is how php is connected to the httpd now:
- php8.1-fpm
`-listening on unix socket /run/php/php8.1-fpm.nextcloud.sock <<NOT CONNECTED
- php8.4-fpm
`-listening on unix socket /run/php/php8.4-fpm.nextcloud.sock <CONNECTED> apache2
======================================================================================================================
You can allways run
ncadmin@nas.redacted.local:~$ php-updater --list-installed
.. again, to scan once more for possible configuration errors. The script is constantly updated and often
new tests are added.
If everything looks good and is working well, you should strongly consider to completely remove unused old
php versions, to free up system resources.
To completely remove a php version php$old (eg. php8.0) from your server, run
ncadmin@nas.redacted.local:~$ sudo apt-get purge '*php8.0*'
.. (where, as said, the 8.0 here is just as an example placeholder)
NOTE: The single quotes are important here, to prevent globing.
======================================================================================================================
________________________________________________________________________________________________________________________
This is how YOU can contribute
* If your problem has [ NOT ] been resolved with this script:
Please open an issue at https://github.com/ernolf/ebtb/issues and
describe what you expected and where that expectation was not met.
Your feedback is invaluable and helps improve the project for everyone.
* If you've found value in this work, please consider supporting its continued
development. Your contribution, whether through a donation or other means,
helps keep this service available and evolving.
.;mmmmn;, you can
XMMMMMMMMW0c … buy me a coffee:
'MMMMMMMMMMMM; Paypal:
dMMMMMMMMMMMW'd @ernolf https://paypal.me/ernolf use Family & Friends option
NMMMMMMMMMMX:0M;
,MMMNkxxxxxdxWMN. … become a sponsor:
xMMM;0MMMMMMMWx.
WMMW.MMMX;,'. Github Sponsors:
:000ooMMMc @ernolf https://github.com/sponsors/ernolf
x00O.
… transfer crypto:
)
( ( Bitcoin: bc1qwlcqc7zsak45vwqk0dt7hnxlrta7syzstgf7t8
) )
........ Ethereum, BNB Smart Chain, Polygon:
| |] 0x72b7901b3daa45a7266A77Aa3B3552aB686d0D0D
\° /
`----' Solana: E7e13hBB7rmhY2N1MqAY88TKobBktJA7rSpTZWAPec6Y
* Don't want to spend money? you can
… spread the word e.g. via a blog post or on social media
… leave some love (a ❤️, 🙏, 👍 or other emoji and/or interaction) on
https://help.nextcloud.com/t/php-updater-a-script-to-upgrade-php-in-a-safe-way/180215
… rating the project ★★ on https://github.com/ernolf/ebtb
… or in any way you see fit!
much love, peace and good luck!
yours truely, _ __
___ _ __ _ __ ___ | |/ _|
/ _ \ '__| '_ \ / _ \| | |_
( __/ | | | | | (_) | | _|
\___|_| |_| |_|\___/|_|_|
________________________________________________________________________________________________________________________
Do you already know the ebtb bash scripts for nextcloud admins?
Here a selection. Simply select the script you want to test:
installed php-updater update PHP on your ubuntu/debian based server and switch back and forth
between versions without much hassle
[ 2 ] - nc-who follow live on the command line who is logged in on your nextcloud
server, with a “GOD MODE” to selectively unvalidate cookies
[ 3 ] - nc-sql commandline client for the nextcloud MySQL/MariaDB or PostgreSQL database
[ 4 ] - nc-occ interactively create and execute OCC commands with favorites for your
most used occ commands
[ 5 ] - nc-apps (not only) an appstore browser/client for the commandline
[ 6 ] - nc-shares list shares with lots of information and selection options
[ 7 ] - nc-integrity-fix resolve “Some files have not passed the integrity check” warnings
[ 8 ] - nc-mimecheck check for files without or with wrong file extension. For use with “Flow
external script”
[ 9 ] - nc-subscribed-calendar gives you the means to set an individual refreshrate per subscribed
calendar
[ q ] - quit
Please make your choice:
exiting php-updater script.
the janitor can provide extensive system informations and more. simply run: janitor
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$ php -v
PHP 8.4.18 (cli) (built: Feb 13 2026 15:59:43) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.4.18, Copyright (c) Zend Technologies
with Zend OPcache v8.4.18, Copyright (c), by Zend Technologies
ncadmin@nas:/usr/local/bin$
ncadmin@nas:/usr/local/bin$
No comments:
Post a Comment