PHP Installation · 4 min read · Oct 28, 2025

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 versione PHP-FPM e FastCGI su Ubuntu 16.04 (Xenial Xerus). Ubuntu 16.04 viene fornito di default con PHP 7, 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 tra entrambe le versioni 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 venga influenzato e PHP 7 rimarrà il PHP predefinito del nostro server mentre PHP 5.6 sarà disponibile come opzione in ISPConfig (impostazioni del sito web). Si prega di notare che PHP-FPM può essere utilizzato su server Apache e Nginx, mentre FastCGI è disponibile solo per server Apache in ISPConfig.

Con le versioni PHP più vecchie, PHP-FPM e FastCGI erano stati mutuamente esclusivi, quindi un binario FPM e FastCGI doveva essere costruito separatamente. Con PHP 5.6, un singolo binario che supporta la modalità FPM e FCGI può essere costruito.

2 Compilare PHP 5.6 con PHP-FPM e Fastcgi

Installa i prerequisiti per costruire PHP 5.6, wget e l’editor nano 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 costruisci 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.  
root@server1:/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 costruisci 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 usi un comando ./configure diverso, è possibile che siano necessarie librerie aggiuntive, oppure il processo di costruzione fallirà):

./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’ultimo switch (–enable-fpm) assicura che questa versione di PHP funzionerà 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 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 modifica la seguente impostazione (rimuovi il ; 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 Installa 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 di unità systemd

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

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

con il seguente contenuto:

[Unit]  
Description=Il gestore di processi FastCGI PHP 5.6  
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

Infine 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

Testa la versione di 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 sotto Sistema > Versioni PHP aggiuntive. Nella scheda Nome, devi semplicemente inserire un nome per la versione PHP (ad es. PHP 5.6.30) - questa versione PHP sarà elencata sotto questo nome nelle impostazioni del sito web in ISPConfig:

Aggiungi PHP 5.6 in ISPConfig

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

Percorso del binario PHP FastCGI: /opt/php-5.6.30/bin/php-cgi  
Percorso della directory php.ini: /opt/php-5.6.30/lib

Impostazioni PHP-FCGI

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

Percorso dello script di init PHP-FPM: php-5.6.30-fpm  
Percorso della directory php.ini: /opt/php-5.6.30/lib  
Percorso della directory del pool PHP-FPM: /opt/php-5.6.30/etc/php-fpm.d  

Impostazioni PHP-FPM

5 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.