Outils pour utilisateurs

Outils du site


webadmin:apache2:php

Apache: modes d'exécution des scripts PHP

Pour configurer Apache 2 afin de pouvoir interpréter les scripts PHP, deux possibilités:

  • Utiliser le module mod_php qui intègre directement un moteur PHP dans apache via le mécanisme de module.
  • S'appuyer sur le module FastCGI pour rediriger les requêtes sur un interpréteur PHP externe.

La méthode legacy consiste à utiliser le module apache mod_php. C'est celle qui requiert le moins de paramétrages complémentaires. Elle a néanmoins quelques inconvénients:

  • Les processus peuvent occuper plus de mémoire.
  • Le module mod_php pour apache nécessite d'utiliser le MPM perfork et celui-ci ne gère pas le protocole HTTP2.

PPH-FPM s’exécute indépendamment d'Apache, cela réduit l'empreinte mémoire du serveur web. Il est instancié seulement quand c'est nécessaire ce qui réduit également la charge du serveur.

Installer apache2 et vérifier que le MPM utilisé est mpm_event

apt-get install apache2

La commande ci-dessous doit retourner un résultat si mpm_event est bien chargé:

a2query -m | grep event

Activer le module Apache proxy FastCGI

a2enmod proxy_fcgi

Multiples versions de PHP

Chaque hôte virtuel peut être en mesure de s'appuyer sur un serveur PHP-FPM exécutant une version de PHP différente.

Le plus simple pour un système Debian est d'utiliser le dépot d'Ondřej Surý développeur Debian (https://deb.sury.org/)

apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
apt-get install php5.6 php5.6-fpm
 

Installation de PHP 7.3

apt-get install php7.3 php7.3-fpm
NOTICE: Not enabling PHP 7.3 FPM by default.
NOTICE: To enable PHP 7.3 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.3-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

Vérifier l'état des services php-fpm

systemctl status php5.6-fpm.service
systemctl status php7.3-fpm.service

Références

webadmin/apache2/php.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1