Changer facilement de version de php avec Homebrew
Le code ci-dessous (à ajouter dans dans votre ~/.zshrc
ou ~/.bashrc
) ne fonctionne que si vous avez homebrew
d’installé.
Il vous permet de permuter facilement de version de PHP en ligne de commande.
# determine versions of PHP installed with HomeBrew
installedPhpVersions=($(brew ls --versions | ggrep -E 'php(@.*)?\s' | ggrep -oP '(?<=\s)\d\.\d' | uniq | sort))
# create alias for every version of PHP installed with HomeBrew
for phpVersion in ${installedPhpVersions[*]}; do
value="{"
for otherPhpVersion in ${installedPhpVersions[*]}; do
if [ "${otherPhpVersion}" = "${phpVersion}" ]; then
continue
fi
# unlink other PHP version
value="${value} brew unlink php@${otherPhpVersion};"
done
# link desired PHP version
value="${value} brew link php@${phpVersion} --force --overwrite; } &> /dev/null && php -v"
alias "${phpVersion}"="${value}"
done
Il vous faut la dernière version de grep
(brew install grep
).
Et maintenant, avec un alias | grep php
, voici le résultat :
7.4='{ brew unlink php@8.0; brew unlink php@8.1; brew link php@7.4 --force --overwrite; } &> /dev/null && php -v'
8.0='{ brew unlink php@7.4; brew unlink php@8.1; brew link php@8.0 --force --overwrite; } &> /dev/null && php -v'
8.1='{ brew unlink php@7.4; brew unlink php@8.0; brew link php@8.1 --force --overwrite; } &> /dev/null && php -v'
Vous n’avez plus qu’à jouer la commande 8.0
pour basculer sur la version 8.0 de PHP. Et ainsi de suite.