Exécuter plusieurs versions de PHP avec Homebrew
L’un des défis de la création de solutions sur WordPress est de travailler avec les différents environnements fournis par chaque hôte.
C’est-à-dire que certains exécutent encore de très anciennes versions de PHP ; d’autres exécutent des versions plus récentes, mais même dans ce cas, il existe des variations entre elles.
Exemple: j’utilise PHP 7.2 sur ma machine locale pour le développement depuis un certain temps ; cependant, je suis actuellement sur un projet où quelques-unes des dépendances de l’ outil d’intégration continue ne prennent en charge que PHP 7.1.
Et parce que j’aime que mon environnement de développement reflète les environnements de préproduction et de production, je pense qu’il est important de s’assurer qu’il y a parité.
Si vous utilisez un gestionnaire de packages, il est assez facile de démarrer avec plusieurs versions de PHP avec Homebrew, mais vous pouvez rencontrer quelques problèmes en ce qui concerne son exécution avec Valet.
Plusieurs versions de PHP avec Homebrew
Tout d’abord, vous voulez vous assurer que PHP 7.1 est installé. Pour ce faire, il vous suffit d’exécuter la commande suivante dans votre terminal. Cela installera le paquet mais rien de plus. Vous utiliserez toujours la version de PHP que vous utilisez actuellement.
$ brew install php@7.1
Après cela, vous devrez dire à Homebrew de supprimer le lien symbolique qu’il a créé vers la version actuelle de PHP que vous utilisez, puis de le lier au package que vous venez de télécharger.
Pour ce faire, saisissez la commande suivante :
$ brew unlink php && brew link --force php@7.1
Vous vous souvenez de tout ce qui parle de coquillages? Vous devrez vous assurer que votre shell – dans ce cas, Bash – connaît la version de PHP que vous souhaitez utiliser.
export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
Ensuite, répertoriez tous les services en cours d’exécution. Vous pouvez le faire en saisissant la commande suivante :
$ brew services list
Une fois que vous avez fait cela, vous verrez une liste des services en cours d’exécution ainsi que le compte sous lequel certains d’entre eux s’exécutent.
Si certains s’exécutent en tant que root, vous devrez les démarrer et les arrêter en utilisant sudo ; sinon, vous pouvez les arrêter et les démarrer à l’aide de vos commandes standard.
$ sudo brew services stop php
$ sudo brew services stop php@7.1
$ sudo brew services start php@7.1
Après cela, vous voudrez probablement redémarrer Valet car cela garantira que PHP, Nginx et Dnsmasq sont tous redémarrés.
$ valet restart
Cela devrait compléter tout ce que vous devez faire pour échanger des versions de PHP.
Vérifiez votre travail
Pour vérifier que votre serveur Web utilise bien la dernière version de Nginx, je vous recommande de créer un répertoire unique (j’appelle le mien bêta), de le lier à l’aide de Valet, puis de déposer un fichier index.php dans le répertoire qui comprend le phpinfo(); appel de fonction.
De cette façon, vous pouvez obtenir toutes sortes d’informations sur votre environnement.
À partir de là, vous devriez voir une variation de PHP 7.1 (ou quoi que ce soit que vous ayez installé). Et si vous le faites, alors vous êtes prêt à partir; sinon, vous devrez peut-être revoir la désinstallation et la réinstallation de Valet.
Mais c’est un peu une étape extrême, et tout ce que vous voyez ci-dessus devrait en tenir compte.

