GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare PHP 5.6 come PHP-FPM e FastCGI aggiuntivi per ISPConfig 3.1 su Ubuntu 16.04

Questo tutorial mostra come costruire PHP 5.6 come PHP-FPM e una versione FastCGI su Ubuntu 16.04 (Xenial Xerus). Ubuntu 16.04 viene fornito con PHP 7 per impostazione predefinita, ma ci sono ancora molti siti Web che non supportano PHP 7. Questo tutorial ti mostrerà come installare PHP 5.6 come versione PHP aggiuntiva su Ubuntu 16.04 in modo da poter passare da una versione all'altra per ogni sito web individualmente in ISPConfig.

1 Nota preliminare

Installerò PHP 5.6 in /opt in modo che il PHP 7 principale di Ubuntu non sia interessato e PHP 7 rimarrà il PHP predefinito del nostro server mentre PHP 5.6 è disponibile come opzione in ISPConfig (impostazioni del sito Web). Tieni presente che PHP-FPM può essere utilizzato su entrambi i server Apache e Nginx mentre FastCGI è disponibile solo per i server Apache in ISPConfig.

Con le versioni precedenti di PHP, PHP-FPM e FastCGI si escludevano a vicenda, quindi un binario FPM e FastCGI doveva essere compilato separatamente. Con PHP 5.6 è possibile creare un singolo binario che supporti la modalità FPM e FCGI.

2 Compila PHP 5.6 con PHP-FPM e Fastcgi

Installa i prerequisiti per costruire PHP 5.6, wget e il nano editor che userò per modificare i file di configurazione:

apt-get install build-essential wget nano
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

(L'ultimo comando è necessario se crei PHP con --with-imap, perché altrimenti ./configure si fermerà con il seguente errore:

checking for crypt in -lcrypt... yes
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
[email protected]:/usr/local/src/php5-build/php-5.6.30#

)

Scarica ed estrai PHP 5.6 da php.net:

mkdir /opt/php-5.6.30
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http://de.php.net/get/php-5.6.30.tar.bz2/from/this/mirror -O php-5.6.30.tar.bz2
tar jxf php-5.6.30.tar.bz2
cd php-5.6.30/

Configura e compila PHP 5.6.30 come segue (puoi adattare il comando ./configure alle tue esigenze, dai un'occhiata a

./configure --help

per vedere tutte le opzioni disponibili; se utilizzi un comando ./configure diverso, è possibile che siano necessarie librerie aggiuntive o il processo di compilazione non riuscirà):

./configure --prefix=/opt/php-5.6.30 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-gettext --with-xmlrpc --with-xsl --with-kerberos --enable-fpm

La stringa sopra è solo un lungo comando, non aggiungere interruzioni di riga. L'ultima opzione (--enable-fpm) assicura che questa versione di PHP funzioni con PHP-FPM.

make
make install

Copia php.ini e php-fpm.conf nelle posizioni corrette:

cp /usr/local/src/php5-build/php-5.6.30/php.ini-production /opt/php-5.6.30/lib/php.ini
cp /opt/php-5.6.30/etc/php-fpm.conf.default /opt/php-5.6.30/etc/php-fpm.conf

Crea la directory del file del pool php-fpm.d.

mkdir /opt/php-5.6.30/etc/php-fpm.d

Apri /opt/php-5.6.30/etc/php-fpm.conf e regola la seguente impostazione (rimuovi; davanti alla riga pid):

nano /opt/php-5.6.30/etc/php-fpm.conf
[...]
pid = run/php-fpm.pid
[...]
user = www-data
group = www-data
[...]
listen = 127.0.0.1:8999
[...]
include=/opt/php-5.6.30/etc/php-fpm.d/*.conf

2.1 Installare l'estensione xDebug (opzionale)

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

Installa xDebug con questi comandi.

cd /opt/php-5.6.30/etc
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install xdebug

Quindi modifica il file php.ini con un editor:

nano /opt/php-5.6.30/lib/php.ini

e aggiungi la seguente riga alla fine del file:

zend_extension=/opt/php-5.6.30/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

3 Crea il file dell'unità systemd

Ubuntu 16.04 usa systemd come sistema di inizializzazione. Creerò un file di unità systemd per poter avviare/arrestare e riavviare il servizio PHP-FPM.

nano /lib/systemd/system/php-5.6.30-fpm.service

con il seguente contenuto:

[Unit]
Description=The PHP 5.6 FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/opt/php-5.6.30/var/run/php-fpm.pid
ExecStart=/opt/php-5.6.30/sbin/php-fpm --nodaemonize --fpm-config /opt/php-5.6.30/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

Abilita il servizio e ricarica systemd:

systemctl enable php-5.6.30-fpm.service
systemctl daemon-reload

Finalmente avvia PHP-FPM.

systemctl start php-5.6.30-fpm.service

Per abilitare Zend OPcache, apri /opt/php-5.6.30/lib/php.ini...

nano /opt/php-5.6.30/lib/php.ini

... e aggiungi la seguente riga alla fine:

[...]
zend_extension=opcache.so

Testare la versione PHP:

cd /opt/php-5.6.30/bin
./php --version

L'output dovrebbe essere simile a questo screenshot.

4 Abilita PHP 5.6 in ISPConfig

In ISPConfig 3.1, puoi configurare la nuova versione PHP in Sistema> Versioni PHP aggiuntive. Nella scheda Nome, inserisci semplicemente un nome per la versione PHP (ad es. PHP 5.6.30):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: /opt/php-5.6.30/bin/php-cgi
Path to the php.ini directory: /opt/php-5.6.30/lib

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

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

  • PHP:http://www.php.net/
  • Configurazione ISP:http://www.ispconfig.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Come installare PHP 7.4 e 8.0 su Ubuntu 18.04 o 20.04

  2. Come installare PHP su Ubuntu 18.04

  3. Come installare PHP su Ubuntu 20.04

  4. Come installare PHP 8.0 su Ubuntu 20.04 / Ubuntu 18.04

  5. Come installare PHP 7.2 su Ubuntu 16.04

Come installare ionCube Loader per PHP in Ubuntu

Come installare PHP 8.0 su Ubuntu 20.04 / 18.04

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

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

Come installare PHP in Ubuntu 22.04

Come installare PHP su Ubuntu 22.04