PHP Installation · 3 min read · Nov 03, 2025

Come compilare e installare PHP 7.4 come PHP-FPM e FastCGI per ISPConfig 3 su Ubuntu 18.04 LTS

Ubuntu 18.04 viene fornito con PHP 7.2 come versione PHP predefinita. Le versioni principali di PHP non sono 100% compatibili tra loro, quindi un sito web potrebbe richiedere una versione PHP più recente o più vecchia per funzionare. ISPConfig supporta l’uso di più versioni PHP sullo stesso server, la versione PHP può essere selezionata per ciascun sito web individualmente nelle impostazioni del sito web. Questo tutorial mostra come installare PHP 7.4 in modalità FPM e FCGI insieme a PHP 7.2 su un server Ubuntu 18. Le versioni PHP aggiuntive vengono installate nella cartella /opt, quindi la loro installazione non influisce sulla versione PHP predefinita.

1 Nota preliminare

Installerò PHP 7.4. Si prega di notare che PHP-FPM può essere utilizzato sia su server Apache che Nginx, mentre FastCGI è disponibile solo per server Apache.

2 Installare i prerequisiti

Installa i prerequisiti per la compilazione di PHP e l’editor nano che utilizzerò per modificare i file di configurazione:

apt -y install build-essential nano net-tools autoconf
apt -y install libfcgi-dev libfcgi0ldbl libjpeg-turbo8-dev libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libzip-dev libsqlite3-dev libonig-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
cd /usr/include  
ln -s x86_64-linux-gnu/curl

(L’ultimo comando è necessario se si compila 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:/tmp/php-7.4.0

)

3 Compilare PHP 7.4 come PHP-FPM e Fastcgi

Scarica e estrai l’archivio PHP:

cd /tmp  
wget https://www.php.net/distributions/php-7.4.0.tar.gz  
tar xfz php-7.4.0.tar.gz
cd php-7.4.0

Configura e compila PHP 7.4 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, oppure il processo di compilazione fallirà):

./configure --prefix=/opt/php-7.4 --with-pdo-pgsql --with-zlib-dir --with-freetype --enable-mbstring --enable-soap --enable-calendar --with-curl --with-zlib --enable-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 --with-zip --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg --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-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-intl --with-pear --enable-fpm

L’ultima opzione ( –enable-fpm) assicura che questa versione di PHP funzioni con PHP-FPM.

make  
make install

Copia i file nelle posizioni corrette:

cp php.ini-production /opt/php-7.4/lib/php.ini
cp /opt/php-7.4/etc/php-fpm.conf.default /opt/php-7.4/etc/php-fpm.conf
cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf

Modifica /opt/php-7.4/etc/php-fpm.conf

sed -i 's/;pid = run\/php-fpm.pid/pid = run\/php-fpm.pid/g' /opt/php-7.4/etc/php-fpm.conf

Quindi aggiorna /opt/php-7.4/etc/php-fpm.d/www.conf:

cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf

Se hai già installato versioni PHP aggiuntive, controlla che la porta non sia già in uso:

netstat -tapn | grep -E ".*899.*php-fpm"

Se utilizzi nginx come server web, modifica /opt/php-7.4/lib/php.ini:

sed -i 's/;date.timezone =/date.timezone = "Europe\/Berlin"/g' /opt/php-7.4/lib/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /opt/php-7.4/lib/php.ini

3.1 Creare il file di unità systemd

Successivamente, creeremo il file di unità di sistema che viene utilizzato per avviare e fermare il demone PHP-FPM.

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

con il seguente contenuto:

[Unit]  
Description=Il gestore di processi FastCGI PHP 7.4  
After=network.target  
  
[Service]  
Type=simple  
PIDFile=/opt/php-7.4/var/run/php-fpm.pid  
ExecStart=/opt/php-7.4/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.4/etc/php-fpm.conf  
ExecReload=/bin/kill -USR2 $MAINPID  
  
[Install]  
WantedBy=multi-user.target

Abilita il servizio e ricarica systemd:

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

Infine, avvia PHP-FPM.

systemctl start php-7.4-fpm.service

Per abilitare Zend OPcache:

echo zend_extension=opcache.so >> /opt/php-7.4/lib/php.ini

3.2 Abilitare Memcache (opzionale)

Installa memcache con questi comandi.

cd /opt/php-7.4/etc  
../bin/pecl -C ./pear.conf update-channels  
../bin/pecl -C ./pear.conf install memcached

e abilita memcache

echo extension=memcached.so >> /opt/php-7.4/lib/php.ini

3.3 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-7.4/etc  
../bin/pecl -C ./pear.conf update-channels  
../bin/pecl -C ./pear.conf install xdebug

e abilita xDebug

echo zend_extension=/opt/php-7.4/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so >> /opt/php-7.4/lib/php.ini

Infine riavvia il demone php-fpm:

systemctl start php-7.4-fpm.service

Testa la versione di PHP:

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

3.4 Abilitare PHP 7.4 in ISPConfig

In ISPConfig 3.1, puoi configurare la nuova versione PHP sotto Sistema > Versioni PHP aggiuntive. Nella scheda Nome, devi solo inserire un nome per la versione PHP (ad es. PHP 7.4) - questa versione PHP sarà elencata sotto questo nome nelle impostazioni del sito web in ISPConfig:

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

Percorso del binario PHP FastCGI: /opt/php-7.4/bin/php-cgi  
Percorso della directory php.ini: /opt/php-7.4/lib
![](/files/d0d14ba4-498f-4afc-b309-e6447696e788.jpg)

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

Percorso dello script di avvio PHP-FPM: php-7.4-fpm  
Percorso della directory php.ini: /opt/php-7.4/lib  
Percorso della directory del pool PHP-FPM: /opt/php-7.4/etc/php-fpm.d  
![](/files/62167a30-12d7-415f-a01a-194d878513f6.jpg)

5 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.