How I’ve installed PHP 7.4 in Debian testing and removed PHP 8.1

This is not a guide, is what worked for me, so be careful and not use it as an official PHP Debian guide

For WordPress reasons it could be useful to keep using the old version PHP 7.4

How I did it?

After the last Debian update the PHP 8.1 was the only active and working version

Trying to use apt install PHP 7.4 was not successful

I’m using Sury’s packages:

https://packages.sury.org/php/README.txt

I use apt purge php to remove all the PHP 8.1 files

Then I used aptitude install php7.4 and things changed!

A lot of options help me to choose :

aptitude install php7.4
I seguenti pacchetti NUOVI (NEW) saranno installati:
php7.4{b}
0 pacchetti aggiornati, 1 installati, 0 da rimuovere e 0 non aggiornati.
È necessario prelevare 50,6 kB di archivi. Dopo l’estrazione, verranno occupati 86,0 kB.
I seguenti pacchetti hanno dipendenze non soddisfatte:
php7.4 : Dipende: libapache2-mod-php7.4 ma non è installabile o
php7.4-fpm ma non è installabile o
php7.4-cgi ma non è installabile
Dipende: php7.4-common ma non è installabile
Le seguenti azioni permetteranno di soddisfare queste dipendenze:

 Mantenere i seguenti pacchetti alla versione attuale:

1) php7.4 [Non installato]

Accettare questa soluzione? [Y/n/q/?] n
Le seguenti azioni permetteranno di soddisfare queste dipendenze:

 Installare i seguenti pacchetti:                                               

1) php-common [2:92+0~20220117.43+debian10~1.gbpe0d14e (buster)]
2) php7.4-cli [1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster, now)]
3) php7.4-common [1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster)]
4) php7.4-fpm [1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster, now)]
5) php7.4-json [1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster, now)]
6) php7.4-opcache [1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster, now)]
7) php7.4-readline [1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster, now)]

Accettare questa soluzione? [Y/n/q/?] 3
Action “3”: Installazione di php7.4-common 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 (buster)

Pacchetto: php7.4-common
Versione: 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007
Nuovo: sì
Stato: non installato
Priorità: opzionale
Sezione: php
Responsabile: Debian PHP Maintainers
Architettura: amd64
Dimensione pacchetto installato: 7.186 k
Dipende: php-common (>= 1:81~), ucf, libc6 (>= 2.27), libffi6 (>= 3.0.10~rc8), libssl1.1 (>= 1.1.0)
Rende difettoso: gforge-common (< 6), php7.0-curl (< 7.0.33-1~), php7.2-sodium (< 7.2.12~)
Fornisce: php-calendar, php-ctype, php-exif, php-ffi, php-fileinfo, php-ftp, php-iconv, php-pdo, php-phar, php-posix, php-shmop, php-sockets, php-sysvmsg, php-sysvsem, php-sysvshm,
php-tokenizer, php7.4-calendar, php7.4-ctype, php7.4-exif, php7.4-ffi, php7.4-fileinfo, php7.4-ftp, php7.4-gettext, php7.4-iconv, php7.4-pdo, php7.4-phar, php7.4-posix,
php7.4-shmop, php7.4-sockets, php7.4-sysvmsg, php7.4-sysvsem, php7.4-sysvshm, php7.4-tokenizer
Descrizione: documentation, examples and common module for PHP
This package provides the documentation, examples and common module(s) for PHP.

PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be
embedded into HTML.
Homepage: http://www.php.net/

This action was selected because php7.4 dipende da php7.4-common.

Enter “r 3” to prevent this action from appearing in new solutions.
Enter “a 3” to require that new solutions include this action if possible.

Accettare questa soluzione? [Y/n/q/?] Y
I seguenti pacchetti NUOVI (NEW) saranno installati:
php-common{a} php7.4 php7.4-cli{a} php7.4-common{a} php7.4-fpm{a} php7.4-json{a} php7.4-opcache{a} php7.4-readline{a}
0 pacchetti aggiornati, 8 installati, 0 da rimuovere e 0 non aggiornati.
È necessario prelevare 3.825 kB di archivi. Dopo l’estrazione, verranno occupati 17,7 MB.
Continuare? [Y/n/?] Y
Get: 1 https://packages.sury.org/php buster/main amd64 php-common all 2:92+0~20220117.43+debian10~1.gbpe0d14e [16,4 kB]
Get: 2 https://packages.sury.org/php buster/main amd64 php7.4-common amd64 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [647 kB]
Get: 3 https://packages.sury.org/php buster/main amd64 php7.4-json amd64 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [18,8 kB]
Get: 4 https://packages.sury.org/php buster/main amd64 php7.4-opcache amd64 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [199 kB]
Get: 5 https://packages.sury.org/php buster/main amd64 php7.4-readline amd64 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [12,3 kB]
Get: 6 https://packages.sury.org/php buster/main amd64 php7.4-cli amd64 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [1.435 kB]
Get: 7 https://packages.sury.org/php buster/main amd64 php7.4-fpm amd64 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [1.446 kB]
Get: 8 https://packages.sury.org/php buster/main amd64 php7.4 all 1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007 [50,6 kB]
Scaricato 3.825 kB in 1s (6.071 kB/s)
Recupero delle segnalazioni di bug… Fatto
Analisi delle informazioni… Fatto
Selezionato il pacchetto php-common non precedentemente selezionato.
(Lettura del database… 316881 file e directory attualmente installati.)
Preparativi per estrarre …/0-php-common_2%3a92+0~20220117.43+debian10~1.gbpe0d14e_all.deb…
Estrazione di php-common (2:92+0~20220117.43+debian10~1.gbpe0d14e)…
Selezionato il pacchetto php7.4-common non precedentemente selezionato.
Preparativi per estrarre …/1-php7.4-common_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_amd64.deb…
Estrazione di php7.4-common (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Preparativi per estrarre …/2-php7.4-json_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_amd64.deb…
Estrazione di php7.4-json (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Preparativi per estrarre …/3-php7.4-opcache_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_amd64.deb…
Estrazione di php7.4-opcache (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Preparativi per estrarre …/4-php7.4-readline_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_amd64.deb…
Estrazione di php7.4-readline (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Preparativi per estrarre …/5-php7.4-cli_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_amd64.deb…
Estrazione di php7.4-cli (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Preparativi per estrarre …/6-php7.4-fpm_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_amd64.deb…
Estrazione di php7.4-fpm (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Selezionato il pacchetto php7.4 non precedentemente selezionato.
Preparativi per estrarre …/7-php7.4_1%3a7.4.32-1+0~20220929.71+debian10~1.gbpe9c007_all.deb…
Estrazione di php7.4 (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Configurazione di php-common (2:92+0~20220117.43+debian10~1.gbpe0d14e)…
Created symlink /etc/systemd/system/timers.target.wants/phpsessionclean.timer → /lib/systemd/system/phpsessionclean.timer.
Configurazione di php7.4-common (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…

Creating config file /etc/php/7.4/mods-available/calendar.ini with new version

Creating config file /etc/php/7.4/mods-available/ctype.ini with new version

Creating config file /etc/php/7.4/mods-available/exif.ini with new version

Creating config file /etc/php/7.4/mods-available/fileinfo.ini with new version

Creating config file /etc/php/7.4/mods-available/ffi.ini with new version

Creating config file /etc/php/7.4/mods-available/ftp.ini with new version

Creating config file /etc/php/7.4/mods-available/gettext.ini with new version

Creating config file /etc/php/7.4/mods-available/iconv.ini with new version

Creating config file /etc/php/7.4/mods-available/pdo.ini with new version

Creating config file /etc/php/7.4/mods-available/phar.ini with new version

Creating config file /etc/php/7.4/mods-available/posix.ini with new version

Creating config file /etc/php/7.4/mods-available/shmop.ini with new version

Creating config file /etc/php/7.4/mods-available/sockets.ini with new version

Creating config file /etc/php/7.4/mods-available/sysvmsg.ini with new version

Creating config file /etc/php/7.4/mods-available/sysvsem.ini with new version

Creating config file /etc/php/7.4/mods-available/sysvshm.ini with new version

Creating config file /etc/php/7.4/mods-available/tokenizer.ini with new version
Configurazione di php7.4-readline (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Configurazione di php7.4-opcache (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Configurazione di php7.4-json (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Configurazione di php7.4-cli (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
update-alternatives: viene usato /usr/bin/php7.4 per fornire /usr/bin/php (php) in modalità automatica
update-alternatives: viene usato /usr/bin/phar7.4 per fornire /usr/bin/phar (phar) in modalità automatica
update-alternatives: viene usato /usr/bin/phar.phar7.4 per fornire /usr/bin/phar.phar (phar.phar) in modalità automatica
Configurazione di php7.4-fpm (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Configurazione di php7.4 (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Elaborazione dei trigger per man-db (2.10.2-3)…
Elaborazione dei trigger per php7.4-cli (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
Elaborazione dei trigger per php7.4-fpm (1:7.4.32-1+0~20220929.71+debian10~1.gbpe9c007)…
NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

Stato attuale: 1 (+1) upgradable, 34251 (+2) new.

aptitude install php7.4-mysql

aptitude install php7.4-curl

aptitude install php7.4-soap

aptitude install php7.4-xml

aptitude install php7.4-mbstring