« Versions PHP multiples sous Apache » : différence entre les versions
Page créée avec « Ma dernière galère en date, la gestion de versions multiples de PHP sous Apache ... J'avais l'habitude d'utiliser mod_php pour mes sites en PHP et d'ajouter suexec pour... » |
Aucun résumé des modifications |
||
Ligne 23 : | Ligne 23 : | ||
Une fois installée, nous nous retrouvons avec une arborescence dans {{path|/opt/remi/php56/}} qui contiendra tout le nécessaire pour faire fonctionner cette version de PHP sans gêner le système. | Une fois installée, nous nous retrouvons avec une arborescence dans {{path|/opt/remi/php56/}} qui contiendra tout le nécessaire pour faire fonctionner cette version de PHP sans gêner le système. | ||
== Configurer PHP56-FPM == | |||
La configuration par défaut de PHP-FPM suffit largement pour le fonctionnement de base. | |||
Pour la configuration avancée de PHP-FPM, reportez vous ici : [[Configuration avancée de PHP-FPM]] | |||
Si on souhaite une utilisation avancée, il sera facile par la suite de venir ajouter de nouveaux pool pour obtenir une execution de PHP avec des paramètres différents. | |||
La seule modification que nous allons faire, c'est de déplacer le socket d'accès afin qu'il ai un chemin qu'on puisse retenir.<br /> | |||
Pour ça nous allons simplement le placer dans le même dossier que le php-fpm du système, avec un nom différent. | |||
Pour le faire il faut modifier la ligne "listen": | |||
<source lang=ini> | |||
listen=/var/run/php-fpm/php56-$pool.sock | |||
</source> | |||
$pool permet d'utiliser le nom donné au pool dans le nom du socket. Ainsi si vous copiez ce fichier pour créer un nouveau pool vous ne vous arracherez pas les cheveux pour savoir pourquoi tout déconne ... | |||
== Configurer Apache == |
Version du 18 mai 2018 à 00:01
Ma dernière galère en date, la gestion de versions multiples de PHP sous Apache ...
J'avais l'habitude d'utiliser mod_php pour mes sites en PHP et d'ajouter suexec pour gérer les cas particuliers nécessitant des droits différents.
Mais malheureusement, ce n'est plus possible ... mod_php n'étant plus vraiment fonctionnel, Fedora a décidé de s'en passer. Et je compte pas me passer de Fedora ...
Donc il ne me restait plus qu'à revoir mon hébergement ... Avec de longues heures d'amusements à la clé !!
Installer de multiples versions de PHP sous Fedora
On commence par la première grande question !
Pour installer des versions multiples en parallèle, il fallait déjà trouver les paquets. Mais la chance était de mon côté et Rémi avait fait le travail ! On peut même dire qu'il l'avait très bien fait.
Il ne restait donc plus qu'à installer son dépôt et demander à dnf d'installer les paquets nécessaires.
Bon pour être honnête j'ai beaucoup de mal avec l'arborescence de ses paquets mais on va pas chipoter non plus.
Commençons par installer une première de version supplémentaire, les autres ne seront qu'une variante.
Mon choix se portera sur PHP 5.6, version souvent nécessaire pour héberger des codes qui ne supportent pas encore PHP 7.
J'installe au passage quelques extensions de base.
[root@linux] # | dnf install php56-php php56-php-{fpm,cli,mbstring,myslqnd,xml} | dblclick to copy |
Une fois installée, nous nous retrouvons avec une arborescence dans /opt/remi/php56/
qui contiendra tout le nécessaire pour faire fonctionner cette version de PHP sans gêner le système.
Configurer PHP56-FPM
La configuration par défaut de PHP-FPM suffit largement pour le fonctionnement de base.
Pour la configuration avancée de PHP-FPM, reportez vous ici : Configuration avancée de PHP-FPM
Si on souhaite une utilisation avancée, il sera facile par la suite de venir ajouter de nouveaux pool pour obtenir une execution de PHP avec des paramètres différents.
La seule modification que nous allons faire, c'est de déplacer le socket d'accès afin qu'il ai un chemin qu'on puisse retenir.
Pour ça nous allons simplement le placer dans le même dossier que le php-fpm du système, avec un nom différent.
Pour le faire il faut modifier la ligne "listen":
listen=/var/run/php-fpm/php56-$pool.sock
$pool permet d'utiliser le nom donné au pool dans le nom du socket. Ainsi si vous copiez ce fichier pour créer un nouveau pool vous ne vous arracherez pas les cheveux pour savoir pourquoi tout déconne ...