2.0 KiB
Prérequis: Apache, gestion des services et des packages, principe de configuration
Information et liens utiles:
Théorie
Quelles sont les différences entre php en tant que module apache (paquet php) et php-fpm ?
module: l'interpréteur est intégré à apache. Pas possible de faire tourner plusieurs versions de php, pb de perf, pb de stabilité. À l'inverse, php-fpm permet d'embarquer un interpréteur dans un service autonome. On peut donc en avoir plusieurs, avec des paramètres de performance différent, des versions différentes. On peut même les faire tourner avec des comptes utilisateurs distincts (1 client -> 1 compte utilisateur -> 1 arborescence utilisateur -> 1 php-fpm dédié)
Quelle est la version de php disponible par défaut sur RedHat / CentOS ?
5.4 - complètement obsolète
Quelle est la dernière version disponible de php ?
7.4 à ce jour (2020-04-27)
Pratique
Installez php-fpm en version 7.3
la version 7.3 n'étant pas disponible par défaut, il faut utiliser un dépôt externe. Pour ce faire, suivre les instructions ici:
- yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- yum install yum-utils
- yum install php73-php-fpm
Assurez-vous que le service soit activé et démarré
systemctl enable php73-php-fpm
systemctl start php73-php-fpm
Configurez apache pour que toutes les ressources .php soient traitées par php-fpm
vim /etc/httpd/conf.d/php.conf
<FilesMatch .php$>
SetHandler proxy:fcgi://localhost:9000
Validation
Créer la page /var/www/html/version.php avec le contenu suivant:
<?php echo 'Current PHP version: ' . phpversion() ."\n" . php_sapi_name() ."\n" ; Appeler la page: curl http://localhost/version.php Résultat attendu: affichage sur la console de : Current PHP version: 7.3.XX fpm-fcgi ### À rendre Réalisation technique et fichier /srv/php-fpm.txt contenant la réponse aux questions théoriques