Utiliser plusieures versions de PHP sur Mac OS

Si comme moi vous avez besoin d’utiliser plusieurs versions de PHP sur votre machine pour pouvoir jongler entre vos différents projets, n’hésitez plus, vous êtes au bon endroit.

Avant de commencer, je préfère préciser que je suis sur Mojave et que la manipulation décrite est donc pour Mojave, mais peut également fonctionner sur les versions antérieures, à vous de tester !

Installation de PHP

Dans un premier temps, il faut commencer par installer les différentes versions PHP à l’aide de « brew ».

$ brew install php@5.6
$ brew install php@7.0
$ brew install php@7.1
$ brew install php@7.2

Si vous souhaitez modifier la configuration des versions PHP et l’adapter à votre utilisation, voici les emplacements :

/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/7.0/php.ini
/usr/local/etc/php/7.1/php.ini
/usr/local/etc/php/7.2/php.ini

Après avoir installé chaque version de PHP, exécuter cette commande pour revenir en 5.6 :

$ brew unlink php@7.2 && brew link --force --overwrite php@5.6

À ce stade, un « php -v » et tout devrait fonctionner

Configuration d’Apache

Vous avez installé vos différentes versions de PHP, il faut maintenant demander à Apache de les utiliser. Il faut ainsi modifier le fichier /usr/local/etc/httpd/httpd.conf et se rendre à l’endroit où se trouve les modules, LoadModule.

Activez le module rewrite :

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

Ensuite, ajoutez ces lignes

LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so
#LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so

Il ne faut qu’une seule version de PHP activée à la fois, ainsi, laissez active la ligne correspondante au module PHP 5.6, c’est celui que nous avons activé plus haut.

Installation du script Switcher PHP

Rien de plus simple :

$ curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw > /usr/local/bin/sphp
$ chmod +x /usr/local/bin/sphp

Plus qu’à tester

$ sphp 7.2

Vous pouvez désormais passer d’une version à l’autre juste en utilisant le script sphp suivi de la version PHP désirée (Ex : sphp 5.6, sphp 7.0).

J’espère que ce petit tuto rapide vous sera utile et n’hésitez pas si vous avez des questions ! 🙂

Image : alekseynemiro / Pixabay

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.