PHP Installation · 12 min read · Nov 04, 2025
Comment installer PHP 7.1, 7.2 et 5.6 en tant que PHP-FPM & FastCGI pour ISPConfig 3 sur Debian 9
Debian 9 est livré avec PHP 7.0 comme version PHP par défaut. Les principales versions de PHP ne sont pas 100 % compatibles entre elles, donc un site Web peut nécessiter une version PHP plus récente ou plus ancienne pour fonctionner. ISPConfig prend en charge l’utilisation de plusieurs versions de PHP sur le même serveur, la version PHP peut être sélectionnée pour chaque site Web individuellement dans les paramètres du site Web. Ce tutoriel montre comment installer PHP 7.1, 7.2 et 5.6 en mode FPM et FCGI aux côtés de PHP 7.0 sur un serveur Debian 9. Les versions PHP supplémentaires sont installées dans le dossier /opt, donc leur installation n’affecte pas la version PHP par défaut.
MISE À JOUR : Il est recommandé d’installer des versions PHP supplémentaires sur Debian et Ubuntu à partir de paquets maintenant. Le tutoriel peut être trouvé ici : https://www.howtoforge.com/tutorial/how-to-install-php-7-for-ispconfig-3-from-debian-packages-on-debian-8-and-9/
1 Remarque préliminaire
Je vais installer PHP 7.1, 7.2 et 5.6. Veuillez noter que PHP-FPM peut être utilisé à la fois sur les serveurs Apache et Nginx, tandis que FastCGI est disponible uniquement pour les serveurs Apache.
2 Installer les prérequis
Installez les prérequis pour construire PHP et l’éditeur nano que j’utiliserai pour modifier les fichiers de configuration :
apt-get install build-essential nanoapt-get install libfcgi-dev libfcgi0ldbl libjpeg62-turbo-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-devln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.acd /usr/include
ln -s x86_64-linux-gnu/curl(La dernière commande est nécessaire si vous construisez PHP avec –with-imap, car sinon ./configure s’arrêtera avec l’erreur suivante :
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-7.1.14#)
3 Compiler PHP 7.1 en tant que PHP-FPM et Fastcgi
Téléchargez et extrayez l’archive PHP :
mkdir -p /opt/php-7.1
mkdir /usr/local/src/php7.1-build
cd /usr/local/src/php7.1-build
wget http://de2.php.net/get/php-7.1.14.tar.bz2/from/this/mirror -O php-7.1.14.tar.bz2
tar jxf php-7.1.14.tar.bz2cd php-7.1.14/Configurez et construisez PHP 7.1 comme suit (vous pouvez ajuster la commande ./configure selon vos besoins, jetez un œil à
./configure --helppour voir toutes les options disponibles ; si vous utilisez une commande ./configure différente, il est possible que des bibliothèques supplémentaires soient requises, ou que le processus de construction échoue) :
./configure --prefix=/opt/php-7.1 --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-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --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-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpmLe dernier commutateur ( –enable-fpm) garantit que cette version de PHP fonctionnera avec PHP-FPM.
make
make installCopiez php.ini et php-fpm.conf aux emplacements corrects :
cp /usr/local/src/php7.1-build/php-7.1/php.ini-production /opt/php-7.1/lib/php.inicp /opt/php-7.1/etc/php-fpm.conf.default /opt/php-7.1/etc/php-fpm.conf
cp /opt/php-7.1/etc/php-fpm.d/www.conf.default /opt/php-7.1/etc/php-fpm.d/www.confOuvrez /opt/php-7.1/etc/php-fpm.conf et ajustez le paramètre suivant (supprimez le ; devant la ligne pid) :
nano /opt/php-7.1/etc/php-fpm.conf[...]
pid = run/php-fpm.pid
[...] Ensuite, ouvrez /opt/php-7.1/etc/php-fpm.d/www.conf et ajustez la ligne listen, vous devez utiliser un port inutilisé (par exemple 8999 ; le port 9000 pourrait déjà être utilisé par le PHP-FPM par défaut de Debian) :
nano /opt/php-7.1/etc/php-fpm.d/www.conf[...]
listen = 127.0.0.1:8999
[...] 3.1 Créer le fichier d’unité systemd
Ensuite, nous allons créer le fichier d’unité système qui est utilisé pour démarrer et arrêter le démon PHP-FPM.
nano /lib/systemd/system/php-7.1-fpm.serviceavec le contenu suivant :
[Unit]
Description=Le gestionnaire de processus FastCGI PHP 7.1
After=network.target
[Service]
Type=simple
PIDFile=/opt/php-7.1/var/run/php-fpm.pid
ExecStart=/opt/php-7.1/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.1/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.targetActivez le service et rechargez systemd :
systemctl enable php-7.1-fpm.service
systemctl daemon-reloadEnfin, démarrez PHP-FPM.
systemctl start php-7.1-fpm.servicePour activer le Zend OPcache, ouvrez /opt/php-7.1/lib/php.ini…
nano /opt/php-7.1/lib/php.ini… et ajoutez la ligne suivante à la fin :
[...]
zend_extension=opcache.so3.2 Activer Memcache (optionnel)
Dans ce chapitre, je vais compiler et activer l’extension PHP Memcached.
La première étape consiste à installer le paquet libmemcached-dev à partir de Debian.
apt-get install libmemcached-devEnsuite, créez un répertoire, téléchargez l’extension PHP memcache depuis Github, décompressez l’archive et entrez dans le répertoire contenant les fichiers décompressés.
mkdir /usr/local/src/php7.1-build/php-memcache
cd /usr/local/src/php7.1-build/php-memcache
wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
unzip php7.zip
cd php-memcached-php7Préparez les sources en exécutant la commande phpize de PHP 7.1.
/opt/php-7.1/bin/phpizeConfigurez et construisez l’extension PHP memcache.
./configure --with-php-config=/opt/php-7.1/bin/php-config
make
make installPour activer l’extension Memcache, ouvrez /opt/php-7.1/lib/php.ini…
nano /opt/php-7.1/lib/php.ini… et ajoutez la ligne suivante à la fin :
[...]
extension=memcached.so3.3 Installer l’extension xDebug (optionnel)
Le module xDebug est une extension de débogage pour PHP. L’installation est optionnelle.
Installez xDebug avec ces commandes.
cd /opt/php-7.1/etc
../bin/pecl -C ./pear.conf update-channels
../bin/pecl -C ./pear.conf install xdebugEnsuite, modifiez le fichier php.ini avec un éditeur :
nano /opt/php-7.1/lib/php.iniet ajoutez la ligne suivante à la fin du fichier :
zend_extension=/opt/php-7.1/lib/php/extensions/no-debug-non-zts-20160303/xdebug.soEnfin, redémarrez le démon php-fpm :
systemctl start php-7.1-fpm.serviceTestez la version PHP :
cd /opt/php-7.1/bin
./php --versionLa sortie devrait être similaire à cette capture d’écran.
Veuillez noter : La capture d’écran provient de PHP 7.1.14, le tutoriel est mis à jour en continu pour les nouvelles versions de PHP mais nous ne prenons pas de nouvelles captures d’écran à chaque fois, donc la version PHP que vous verrez sur votre serveur pourrait être plus récente. La version actuelle de ce tutoriel est pour php-7.1.14.
3.4 Activer PHP 7.1 dans ISPConfig
Dans ISPConfig 3.1, vous pouvez configurer la nouvelle version PHP sous Système > Versions PHP supplémentaires. Dans l’onglet Nom, vous remplissez simplement un nom pour la version PHP (par exemple, PHP 7.1) - cette version PHP sera listée sous ce nom dans les paramètres du site Web dans ISPConfig :

Allez dans l’onglet Paramètres FastCGI et remplissez les champs comme suit :
Chemin vers le binaire PHP FastCGI : /opt/php-7.1/bin/php-cgi
Chemin vers le répertoire php.ini : /opt/php-7.1/lib
Ensuite, allez dans l’onglet Paramètres PHP-FPM et remplissez les champs comme suit :
Chemin vers le script d'initialisation PHP-FPM : php-7.1-fpm
Chemin vers le répertoire php.ini : /opt/php-7.1/lib
Chemin vers le répertoire de pool PHP-FPM : /opt/php-7.1/etc/php-fpm.d 
4 Compiler PHP 7.2 en tant que PHP-FPM et Fastcgi
Téléchargez et extrayez PHP depuis php.net et décompressez le fichier tar.bz2 :
mkdir -p /opt/php-7.2
mkdir /usr/local/src/php7.2-build
cd /usr/local/src/php7.2-build
wget http://de2.php.net/get/php-7.2.2.tar.bz2/from/this/mirror -O php-7.2.2.tar.bz2
tar jxf php-7.2.2.tar.bz2cd php-7.2.2/Configurez et construisez PHP 7.2 comme suit (vous pouvez ajuster la commande ./configure selon vos besoins, jetez un œil à
./configure --helppour voir toutes les options disponibles ; si vous utilisez une commande ./configure différente, il est possible que des bibliothèques supplémentaires soient requises, ou que le processus de construction échoue) :
./configure --prefix=/opt/php-7.2 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --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-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --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-fpmLe dernier commutateur ( –enable-fpm) garantit que cette version de PHP fonctionnera avec PHP-FPM.
make
make installCopiez php.ini et php-fpm.conf aux emplacements corrects :
cp /usr/local/src/php7.2-build/php-7.2.2/php.ini-production /opt/php-7.2/lib/php.inicp /opt/php-7.2/etc/php-fpm.conf.default /opt/php-7.2/etc/php-fpm.conf
cp /opt/php-7.2/etc/php-fpm.d/www.conf.default /opt/php-7.2/etc/php-fpm.d/www.confOuvrez /opt/php-7.2/etc/php-fpm.conf et ajustez le paramètre suivant (supprimez le ; devant la ligne pid) :
nano /opt/php-7.2/etc/php-fpm.conf[...]
pid = run/php-fpm.pid
[...] Ensuite, ouvrez /opt/php-7.2/etc/php-fpm.d/www.conf et ajustez la ligne listen, vous devez utiliser un port inutilisé (par exemple 8998 ; le port 9000 pourrait déjà être utilisé par le PHP-FPM par défaut de Debian) :
nano /opt/php-7.2/etc/php-fpm.d/www.conf[...]
listen = 127.0.0.1:8998
[...] 4.1 Créer le fichier d’unité systemd
Ensuite, nous allons créer le fichier d’unité système qui est utilisé pour démarrer et arrêter le démon PHP-FPM.
nano /lib/systemd/system/php-7.2-fpm.serviceavec le contenu suivant :
[Unit]
Description=Le gestionnaire de processus FastCGI PHP 7.2
After=network.target
[Service]
Type=simple
PIDFile=/opt/php-7.2/var/run/php-fpm.pid
ExecStart=/opt/php-7.2/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.2/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.targetActivez le service et rechargez systemd :
systemctl enable php-7.2-fpm.service
systemctl daemon-reloadEnfin, démarrez PHP-FPM.
systemctl start php-7.2-fpm.servicePour activer le Zend OPcache, ouvrez /opt/php-7.2/lib/php.ini…
nano /opt/php-7.2/lib/php.ini… et ajoutez la ligne suivante à la fin :
[...]
zend_extension=opcache.so4.2 Activer Memcache (optionnel)
Dans ce chapitre, je vais compiler et activer l’extension PHP Memcached.
La première étape consiste à installer le paquet libmemcached-dev à partir de Debian.
apt-get install libmemcached-devEnsuite, créez un répertoire, téléchargez l’extension PHP memcache depuis Github, décompressez l’archive et entrez dans le répertoire contenant les fichiers décompressés.
mkdir /usr/local/src/php7.2-build/php-memcache
cd /usr/local/src/php7.2-build/php-memcache
wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
unzip php7.zip
cd php-memcached-php7Préparez les sources en exécutant la commande phpize de PHP 7.2.
/opt/php-7.2/bin/phpizeConfigurez et construisez l’extension PHP memcache.
./configure --with-php-config=/opt/php-7.2/bin/php-config
make
make installPour activer l’extension Memcache, ouvrez /opt/php-7.2/lib/php.ini…
nano /opt/php-7.2/lib/php.ini… et ajoutez la ligne suivante à la fin :
[...]
extension=memcached.so4.3 Installer l’extension xDebug (optionnel)
Le xDebug module est une extension de débogage pour PHP. L’installation est optionnelle.
Installez xDebug avec ces commandes.
cd /opt/php-7.2/etc
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install xdebugEnsuite, modifiez le fichier php.ini avec un éditeur :
nano /opt/php-7.2/lib/php.iniet ajoutez la ligne suivante à la fin du fichier :
zend_extension=/opt/php-7.2/lib/php/extensions/no-debug-non-zts-20170718/xdebug.soEnfin, redémarrez le démon php-fpm :
systemctl start php-7.2-fpm.serviceTestez la version PHP :
cd /opt/php-7.2/bin
./php --versionLa sortie devrait être similaire à cette capture d’écran.
Veuillez noter : La capture d’écran provient de PHP 7.2.2, le tutoriel est mis à jour en continu pour les nouvelles versions de PHP mais nous ne prenons pas de nouvelles captures d’écran à chaque fois, donc la version PHP que vous verrez sur votre serveur pourrait être plus récente. La version actuelle de ce tutoriel est pour php-7.2.2.
4.4 Activer PHP 7.2 dans ISPConfig
Dans ISPConfig 3.1, vous pouvez configurer la nouvelle version PHP sous Système > Versions PHP supplémentaires. Dans l’onglet Nom, vous remplissez simplement un nom pour la version PHP (par exemple, PHP 7.2) - cette version PHP sera listée sous ce nom dans les paramètres du site Web dans ISPConfig :

Allez dans l’onglet Paramètres FastCGI et remplissez les champs comme suit :
Chemin vers le binaire PHP FastCGI : /opt/php-7.2/bin/php-cgi
Chemin vers le répertoire php.ini : /opt/php-7.2/lib
Ensuite, allez dans l’onglet Paramètres PHP-FPM et remplissez les champs comme suit :
Chemin vers le script d'initialisation PHP-FPM : php-7.2-fpm
Chemin vers le répertoire php.ini : /opt/php-7.2/lib
Chemin vers le répertoire de pool PHP-FPM : /opt/php-7.2/etc/php-fpm.d 
5 Compiler PHP 5.6 en tant que PHP-FPM et Fastcgi
Téléchargez PHP et décompressez l’archive tar.bz2 :
mkdir -p /opt/php-5.6
mkdir /usr/local/src/php5.6-build
cd /usr/local/src/php5.6-build
wget http://de2.php.net/get/php-5.6.33.tar.bz2/from/this/mirror -O php-5.6.33.tar.bz2
tar jxf php-5.6.33.tar.bz2La version OpenSSL dans Debian 9 est trop récente pour PHP 5.6, donc nous devrons compiler une version plus ancienne dans /opt/openssl pour l’utiliser avec PHP 5.6.
cd /tmp
wget "https://www.openssl.org/source/old/1.0.1/openssl-1.0.1t.tar.gz"
tar xzf openssl-1.0.1t.tar.gz
cd openssl-1.0.1t
./config shared --prefix=/opt/openssl
make -j $(nproc) && make install
ln -s /opt/openssl/lib /opt/openssl/lib/x86_64-linux-gnu
wget -O /opt/openssl/ssl/cert.pem "http://curl.haxx.se/ca/cacert.pem"Créez un lien symbolique afin que PHP puisse trouver les bibliothèques freetype, libcrypto et libssl.
mkdir /usr/include/freetype2/freetype
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
ln -s /opt/openssl/lib/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/
ln -s /opt/openssl/lib/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/
ln -fs /opt/openssl /usr/local/sslEntrez dans le dossier qui contient les fichiers sources PHP décompressés.
cd /usr/local/src/php5.6-build/php-5.6.33/Configurez et construisez PHP 5.6 comme suit (vous pouvez ajuster la commande ./configure selon vos besoins, jetez un œil à
./configure --helppour voir toutes les options disponibles ; si vous utilisez une commande ./configure différente, il est possible que des bibliothèques supplémentaires soient requises, ou que le processus de construction échoue) :
./configure --prefix=/opt/php-5.6 --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-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-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl=/opt/openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpmLe dernier commutateur ( –enable-fpm) garantit que cette version de PHP fonctionnera avec PHP-FPM.
make
make installCopiez php.ini et php-fpm.conf aux emplacements corrects :
cp /usr/local/src/php5.6-build/php-5.6.33/php.ini-production /opt/php-5.6/lib/php.inicp /opt/php-5.6/etc/php-fpm.conf.default /opt/php-5.6/etc/php-fpm.confmkdir -p /opt/php-5.6/etc/php-fpm.dOuvrez /opt/php-5.6/etc/php-fpm.conf et ajustez le paramètre suivant :
nano /opt/php-5.6/etc/php-fpm.conf[...]
pid = run/php-fpm.pid
[...]
user = www-data
group = www-data
[...]
listen = 127.0.0.1:8997
[...]
include=/opt/php-5.6/etc/php-fpm.d/*.conf5.1 Créer le fichier d’unité systemd
Ensuite, nous allons créer le fichier d’unité système qui est utilisé pour démarrer et arrêter le démon PHP-FPM.
nano /lib/systemd/system/php-5.6-fpm.serviceavec le contenu suivant :
[Unit]
Description=Le gestionnaire de processus FastCGI PHP 5.6
After=network.target
[Service]
Type=simple
PIDFile=/opt/php-5.6/var/run/php-fpm.pid
ExecStart=/opt/php-5.6/sbin/php-fpm --nodaemonize --fpm-config /opt/php-5.6/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.targetActivez le service et rechargez systemd :
systemctl enable php-5.6-fpm.service
systemctl daemon-reloadEnfin, démarrez PHP-FPM.
systemctl start php-5.6-fpm.servicePour activer le Zend OPcache, ouvrez /opt/php-5.6/lib/php.ini…
nano /opt/php-5.6/lib/php.ini… et ajoutez la ligne suivante à la fin :
[...]
zend_extension=opcache.so5.2 Activer Memcache (optionnel)
Dans ce chapitre, je vais compiler et activer l’extension PHP Memcached.
La première étape consiste à installer le paquet libmemcached-dev à partir de Debian.
apt-get install libmemcached-devEnsuite, exécutez ces commandes pour construire l’extension memcache
cd /opt/php-5.6/etc
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install memcachePour activer l’extension Memcache, ouvrez /opt/php-5.6/lib/php.ini…
nano /opt/php-5.6/lib/php.ini… et ajoutez la ligne suivante à la fin :
[...]
extension=memcache.soEnfin, redémarrez le démon php-fpm :
systemctl start php-5.6-fpm.serviceTestez la version PHP :
cd /opt/php-5.6/bin
./php --versionLa sortie devrait être similaire à cette capture d’écran.
Veuillez noter : La capture d’écran provient de PHP 5.6.33, le tutoriel est mis à jour en continu pour les nouvelles versions de PHP mais nous ne prenons pas de nouvelles captures d’écran à chaque fois, donc la version PHP que vous verrez sur votre serveur pourrait être plus récente. La version actuelle de ce tutoriel est pour php-5.6.33.
5.4 Activer PHP 5.6 dans ISPConfig
Dans ISPConfig 3.1, vous pouvez configurer la nouvelle version PHP sous Système > Versions PHP supplémentaires. Dans l’onglet Nom, vous remplissez simplement un nom pour la version PHP (par exemple, PHP 5.6) - cette version PHP sera listée sous ce nom dans les paramètres du site Web dans ISPConfig :

Allez dans l’onglet Paramètres FastCGI et remplissez les champs comme suit :
Chemin vers le binaire PHP FastCGI : /opt/php-5.6/bin/php-cgi
Chemin vers le répertoire php.ini : /opt/php-5.6/lib
Ensuite, allez dans l’onglet Paramètres PHP-FPM et remplissez les champs comme suit :
Chemin vers le script d'initialisation PHP-FPM : php-5.6-fpm
Chemin vers le répertoire php.ini : /opt/php-5.6/lib
Chemin vers le répertoire de pool PHP-FPM : /opt/php-5.6/etc/php-fpm.d 
6 Liens
- PHP: http://www.php.net/
- ISPConfig: http://www.ispconfig.org/
- Debian: http://www.debian.org/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.