65 lines
2.0 KiB
Markdown
65 lines
2.0 KiB
Markdown
Prérequis: Apache, gestion des services et des packages, principe de configuration
|
|
|
|
Information et liens utiles:
|
|
|
|
* https://blog.remirepo.net/pages/Config
|
|
|
|
|
|
### 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
|
|
<code>
|
|
vim /etc/httpd/conf.d/php.conf
|
|
<FilesMatch \.php$>
|
|
SetHandler proxy:fcgi://localhost:9000
|
|
</FilesMatch>
|
|
</code>
|
|
|
|
### 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
|