Vous n'êtes pas connecté - Connexion ou Créer un compte

Classée dans Questions > Questions / Réponses

Installer PHP FPM sur Debian 9 avec Apache 2.4

Tags : aucun
Administrateur
Une annonce aurait pu être ici :'(

Sommaire

  • Installer PHP FPM
  • Installer FastCGI
  • Désactiver mod_php et mpm_prefork
  • Activer FastCGI et mod_event/mpm_worker
  • Configuration
  • Tester la configuration
  • Redémarrage des services

Installer PHP FPM

sudo apt-get install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list

Lister les versions disponibles de PHP FPM disponibles :

sudo apt-cache search fpm

Installer PHP FPM :

sudo apt-get install php7.4-fpm

Installer FastCGI

Le paquet libapache2-mod-fastcgi n'est plus disponible sous Debian 9 (Stretch), il est nécessaire d'utiliser libapache2-mod-fcgid en remplacement.

Vérifier si libapache2-mod-fcgid est bien disponible :

sudo apt-cache search libapache2-mod-fcgid

Si ce n'est pas le cas, on ajoute 'non-free' à la liste des dépôts dans /etc/apt/sources.list et on met à jour les paquets :

sudo apt-get update && sudo apt-get upgrade

Installer FastCGI (mod_fcgid) :

sudo apt-get install libapache2-mod-fcgid

Désactiver mod_php et mpm_prefork

sudo a2dismod php5 mpm_prefork

Activer FastCGI et mod_event/mpm_worker

sudo a2enmod mpm_event actions alias proxy_fcgi

L'activation de proxy_fcgi activera proxy et proxy_fcgi.

Configuration

Vérifier le socket FPM configuré :

sudo grep -E '^\s*listen\s*=\s*[a-zA-Z/]+' /etc/php/7.4/fpm/pool.d/www.conf

Ce qui donne :

/run/php/php7.4-fpm.sock

Modifier le virtual host désiré, et ajouter (après </Directory> par exemple) :

    <FilesMatch \.php$>
        # Apache 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
    </FilesMatch>

Tester la configuration

apache2ctl configtest

ou :

apache2ctl -t

Redémarrage des services

sudo service apache2 restart
sudo service php7.4-fpm restart
0

Il n'est plus possible de répondre à cette question car elle marquée comme résolue.