Aller au contenu
Accueil » Tutoriels » Utiliser plusieurs versions de PHP sur Mac OS

Utiliser plusieurs 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 ».

[pastacode lang= »bash » manual= »%24%20brew%20install%20php%405.6%0A%24%20brew%20install%20php%407.0%0A%24%20brew%20install%20php%407.1%0A%24%20brew%20install%20php%407.2″ message= » » highlight= » » provider= »manual »/]

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

[pastacode lang= »bash » manual= »%2Fusr%2Flocal%2Fetc%2Fphp%2F5.6%2Fphp.ini%0A%2Fusr%2Flocal%2Fetc%2Fphp%2F7.0%2Fphp.ini%0A%2Fusr%2Flocal%2Fetc%2Fphp%2F7.1%2Fphp.ini%0A%2Fusr%2Flocal%2Fetc%2Fphp%2F7.2%2Fphp.ini » message= » » highlight= » » provider= »manual »/]

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

[pastacode lang= »bash » manual= »%24%20brew%20unlink%20php%407.2%20%26%26%20brew%20link%20–force%20–overwrite%20php%405.6″ message= » » highlight= » » provider= »manual »/]

À 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 :

[pastacode lang= »bash » manual= »LoadModule%20rewrite_module%20lib%2Fhttpd%2Fmodules%2Fmod_rewrite.so » message= » » highlight= » » provider= »manual »/]

Ensuite, ajoutez ces lignes

[pastacode lang= »bash » manual= »LoadModule%20php5_module%20%2Fusr%2Flocal%2Fopt%2Fphp%405.6%2Flib%2Fhttpd%2Fmodules%2Flibphp5.so%0A%23LoadModule%20php7_module%20%2Fusr%2Flocal%2Fopt%2Fphp%407.0%2Flib%2Fhttpd%2Fmodules%2Flibphp7.so%0A%23LoadModule%20php7_module%20%2Fusr%2Flocal%2Fopt%2Fphp%407.1%2Flib%2Fhttpd%2Fmodules%2Flibphp7.so%0A%23LoadModule%20php7_module%20%2Fusr%2Flocal%2Fopt%2Fphp%407.2%2Flib%2Fhttpd%2Fmodules%2Flibphp7.so » message= » » highlight= » » provider= »manual »/]

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 :

[pastacode lang= »bash » manual= »%24%20curl%20-L%20https%3A%2F%2Fgist.githubusercontent.com%2Frhukster%2Ff4c04f1bf59e0b74e335ee5d186a98e2%2Fraw%20%3E%20%2Fusr%2Flocal%2Fbin%2Fsphp%0A%24%20chmod%20%2Bx%20%2Fusr%2Flocal%2Fbin%2Fsphp » message= » » highlight= » » provider= »manual »/]

Plus qu’à tester

[pastacode lang= »bash » manual= »%24%20sphp%207.2″ message= » » highlight= » » provider= »manual »/]

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

2 commentaires sur “Utiliser plusieurs versions de PHP sur Mac OS”

  1. Merci pour le tuto! Je suis avec Catalina et je rencontre un problème avec sphp 5.6 qui réclame icu4 64 alors que php 7.3 utilise icu4 66.1
    Une idée? merci

  2. Salut ! Oui, j’ai eu le souci aussi 🙂
    Envoie moi un petit mail via le formulaire de contact, je te partagera ma solution, pas idéale mais fonctionnelle ! J’ai pas trouvé mieux depuis 🙂

    Constantin,

Laisser un commentaire

Votre adresse e-mail 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.