GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare PHP 5.6 e 7.0 - 8.1 come PHP-FPM e FastCGI per ISPConfig 3 con apt su Debian da 8 a 11

Questo tutorial mostra come installare più versioni di PHP su un server Debian ISPConfig. La versione PHP può essere successivamente selezionata nelle impostazioni del sito Web ISPConfig 3 per ciascun sito individualmente. Questa funzione funziona con PHP-FPM e FastCGI. Installeremo PHP 5.6, 7.x e 8.x come PHP-FPM e una versione FastCGI su un server Debian utilizzando i pacchetti PHP da sury.org.

1 Nota preliminare

Installerò PHP direttamente dal sito dei manutentori del pacchetto PHP Debian https://packages.sury.org/php/ con apt-get. Questo non sovrascriverà l'installazione esistente ma cambierà la versione PHP utilizzata di default con quella installata più recente! Quindi è molto importante aggiungere una nuova versione di PHP per la versione installata a ISPConfig e cambiare prima tutti i siti con questa versione. Se stai usando cron job che chiamano script PHP, devi adattarli anche tu, più avanti.

Poiché anche altri pacchetti come openssl vengono aggiornati, i pacchetti installati da sury.org non possono essere rimossi semplicemente dopo l'installazione. Devi prima eseguire il downgrade di questi pacchetti alle versioni Debian prima di poter rimuovere i pacchetti PHP senza rompere altri pacchetti. Il modo più semplice per me è stato quello di disattivare il nuovo repository aggiunto, quindi i pacchetti installati da sury.org appariranno come pacchetti creati da sé o obsoleti in aptitude e sarai in grado di eseguire il downgrade pacchetto dopo pacchetto.

Tieni presente che PHP-FPM può essere utilizzato su entrambi i server Apache e Nginx mentre FastCGI è disponibile solo per i server Apache.

2 Abilita le versioni PHP in ISPConfig

In ISPConfig 3, puoi configurare le nuove versioni di PHP in Sistema> Versioni PHP aggiuntive.

Aggiungi la versione PHP di Debian

Puoi saltare questo passaggio se non hai una versione Debian di PHP installata.

Prima di tutto devi aggiungere una nuova versione per la versione PHP già installata. Nella scheda Nome, inserisci semplicemente un nome per la versione PHP (ad es. Debian 5.6):questa versione PHP sarà elencata con questo nome nelle impostazioni del sito Web in ISPConfig:

Vai alla scheda Impostazioni FastCGI e compila i campi come segue:

Path to the PHP FastCGI binary: php5-cgi
Path to the php.ini directory: /etc/php5/cgi/php.ini

Quindi vai alla scheda Impostazioni PHP-FPM e compila i campi come segue:

Path to the PHP-FPM init script: php5-fpm
Path to the php.ini directory: /etc/php5/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php5/fpm/pool.d

Passo importante per i lavori cron

Se usi cron job che chiamano script PHP, devi anche dire a cron quale versione usare. Aggiungi php5 all'inizio del comando per usare la versione di Debian. Se non sei sicuro di cosa stai usando esattamente, segui il collegamento simbolico /usr/bin/php e usa la sua destinazione finale come prefisso.

Aggiungi altre versioni PHP

Attualmente sono disponibili 3 versioni su https://packages.sury.org/php/ e devi ripetere l'ultimo passaggio ora per ogni versione che installerai. Ma usa invece le seguenti impostazioni:

PHP 5.6

Path to the PHP FastCGI binary: php-cgi5.6
Path to the php.ini directory: /etc/php/5.6/cgi/php.ini
Path to the PHP-FPM init script: php5.6-fpm
Path to the php.ini directory: /etc/php/5.6/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d

La versione cli per es. cron jobs ha il nome php5.6.

PHP 7.0

Path to the PHP FastCGI binary: php-cgi7.0
Path to the php.ini directory: /etc/php/7.0/cgi/php.ini
Path to the PHP-FPM init script: php7.0-fpm
Path to the php.ini directory: /etc/php/7.0/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d

La versione cli per es. cron jobs ha il nome php7.0.

PHP 7.1

Path to the PHP FastCGI binary: php-cgi7.1
Path to the php.ini directory: /etc/php/7.1/cgi/php.ini
Path to the PHP-FPM init script: php7.1-fpm
Path to the php.ini directory: /etc/php/7.1/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d

La versione cli per es. cron jobs ha il nome php7.1.

PHP 7.2

Path to the PHP FastCGI binary: php-cgi7.2
Path to the php.ini directory: /etc/php/7.2/cgi/php.ini
Path to the PHP-FPM init script: php7.2-fpm
Path to the php.ini directory: /etc/php/7.2/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d

La versione cli per es. cron jobs ha il nome php7.2.

PHP 7.3

Path to the PHP FastCGI binary: php-cgi7.3
Path to the php.ini directory: /etc/php/7.3/cgi/php.ini
Path to the PHP-FPM init script: php7.3-fpm
Path to the php.ini directory: /etc/php/7.3/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d

La versione cli per es. cron jobs ha il nome php7.3.

PHP 7.4

Path to the PHP FastCGI binary: php-cgi7.4
Path to the php.ini directory: /etc/php/7.4/cgi/php.ini
Path to the PHP-FPM init script: php7.4-fpm
Path to the php.ini directory: /etc/php/7.4/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d

La versione cli per es. cron jobs ha il nome php7.4.

PHP 8.0

Path to the PHP FastCGI binary: php-cgi8.0
Path to the php.ini directory: /etc/php/8.0/cgi/
Path to the PHP-FPM init script: php8.0-fpm
Path to the php.ini directory: /etc/php/8.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d

La versione cli per es. cron jobs ha il nome php8.0

PHP 8.1

Path to the PHP FastCGI binary: php-cgi8.1
Path to the php.ini directory: /etc/php/8.1/cgi/
Path to the PHP-FPM init script: php8.1-fpm
Path to the php.ini directory: /etc/php/8.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d

La versione cli per es. cron jobs ha il nome php8.1

3 Modifica la versione PHP dei siti web

Puoi saltare questo passaggio se non hai una versione Debian di PHP installata.

Ora cambia la versione PHP di tutti i siti Web con la versione appena creata (ad es. Debian 5.6).

E non dimenticare di cambiare i lavori cron come menzionato sopra.

4 Aggiungi il repository su packages.sury.org

Per aggiungere il repository su packages.sury.org e le sue chiavi BGP per apt usa questi comandi:

apt-get install -y apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Il comando successivo è solo una riga, non aggiungere interruzioni di riga:

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update

Per aggiornare i pacchetti già installati dal nuovo repository usa questo comando:

apt-get upgrade

5 Installa PHP da packages.sury.org

Sto offrendo qui più opzioni per l'installazione, scegli le versioni desiderate e salta semplicemente il resto!

5.1 Installa PHP 5.6

Per installare PHP usa questo comando:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

5.2 Installa PHP 7.0

Per installare PHP usa questo comando:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

5.3 Installa PHP 7.1

Per installare PHP usa questo comando:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

5.4 Installa PHP 7.2

Per installare PHP usa questo comando:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

5.5 Installa PHP 7.3

Per installare PHP usa questo comando:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

5.6 Installa PHP 7.4

Per installare PHP 7.4 usa questo comando:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

5.6 Installa PHP 8.0

Per installare PHP 8.0 usa questo comando:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml

5.6 Installa PHP 8.1

Per installare PHP 8.1 usa questo comando:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml

6 Installa l'estensione Memcache (opzionale)

Per installare Memcache usa questo comando:

apt-get install php-memcache php-memcached

7 Installa l'estensione APCu (opzionale)

Per installare la cache utente APC usa questo comando:

apt-get install php-apcu php-apcu-bc

8 Installa l'estensione xDebug (opzionale)

Il modulo xDebug è un'estensione di debug per PHP. L'installazione è facoltativa.

Per installare xDebug usa questo comando:

apt-get install php-xdebug

Questo pacchetto sembra avere altre impostazioni predefinite oltre al pacchetto Debian php5-xdebug. A seconda del tuo software devi modificare impostazioni come xdebug.max_nesting_level per farlo funzionare!

9 Reimposta Debian PHP predefinito sulla versione originale

Il PHP predefinito del sistema operativo deve rimanere alla versione originale. Per risolvere il problema, esegui questi comandi:

update-alternatives --config php
update-alternatives --config php-cgi

Su Debian 11, scegli 7.4, su Debian 10, scegli 7.3, su Debian 9:scegli PHP 7.0, su Debian 8, scegli PHP 5.6 nella finestra di dialogo che appare.

10 Riavvia il demone FPM

Infine, riavvia i demoni php-fpm. Eseguire i comandi per quelli installati in precedenza:

service php5.6-fpm restart
service php7.0-fpm restart
service php7.1-fpm restart
service php7.2-fpm restart
service php7.3-fpm restart
service php7.4-fpm restart
service php8.0-fpm restart
service php8.1-fpm restart
  • PHP:http://www.php.net/
  • Configurazione ISP:http://www.ispconfig.org/
  • Debian:http://www.debian.org/
  • DEB.SURY.ORG:http://deb.sury.org/

Debian
  1. Come installare e utilizzare PHP Composer su Debian 10

  2. Come installare e utilizzare PHP Composer su Debian 9

  3. Come costruire PHP 5.6 (PHP-FPM e FastCGI) con Zend OPcache e APCu per ISPConfig 3 su Debian 7 (Wheezy)

  4. Come installare PHP 7 (PHP-FPM e FastCGI) per ISPConfig 3 su Debian 8 (Jessie)

  5. Installa e configura Apache e php con mod fastcgi su Ubuntu/Debian

Come installare Apache con PHP-FPM su Debian 10

Come installare Nginx con PHP-FPM su Debian 10

Come installare Nginx e PHP su Debian 10

Come installare Nginx con PHP-FPM su Debian 11

Come costruire PHP 5.5 (PHP-FPM e FastCGI) con ionCube Loader, Zend OPcache e APCu per ISPConfig 3 (Debian Wheezy)

Come utilizzare più versioni di PHP (PHP-FPM e FastCGI) con ISPConfig 3 (Debian Wheezy)