Ceci est une ancienne révision du document !
PHPBrew
PHPBrew est un utilitaire qui permet d'installer de multiples versions de PHP (5), 7 et 8 et de ses extensions, et de basculer facilement de l'une à l'autre. Il est essentiellement utile sur une machine de développement. Pour un serveur, on privilégiera l'utilisation de docker.
Installation
Il faut installer certains paquets dont aura besoin PHPBrew. Selon sa version d'Ubuntu, cela peut changer un peu, reportez-vous à la page Ubuntu Requirements du projet.
Pour jammy, cela donne :
sudo apt install build-essential libbz2-dev libreadline-dev libsqlite3-dev libcurl4-gnutls-dev libzip-dev libssl-dev libxml2-dev libxslt-dev php8.1-cli php8.1-bz2 pkg-config
Pour focal, cela donne :
sudo apt install build-essential libbz2-dev libreadline-dev libsqlite3-dev libcurl4-gnutls-dev libzip-dev libssl-dev libxml2-dev libxslt-dev php7.4-cli php7.4-bz2 pkg-config
On télécharge et installe ensuite phpbrew :
# téléchargement curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar # ajout des droits d'exécution chmod +x phpbrew.phar # déplacement dans le bon répertoire et renommage sudo mv phpbrew.phar /usr/local/bin/phpbrew # on peut vérifier que le répertoie /usr/local/bin est bien défini dans la variable d'environnement $PATH echo $PATH | grep "usr/local/bin" # usr/local/bin doit ressortir surligné
on intialise phpbrew :
phpbrew init
puis on ajoute à son fichier ~/.bashrc la ligne :
[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
on recharge notre fichier .bashrc :
source ~/.bashrc # puis on définit le préfixe par défaut pour la recherche des bibliothèque phpbrew lookup-prefix ubuntu
Utilisation
Quelques commandes
# pour lister les versions disponible de base phpbrew known # pour ajouter les versions 5 : phpbrew update --old # ajouter une version PHP sur sa machine : # la version 8.1.6 avec les modules par défaut, le module mysql et on évite le module mbstring qui nécessite la bibliothèque oniguruma phpbrew install 8.1.6 +default +mysql -mbstring # pour connaître les modules disponibles (et ceux inclus avec +default) : phpbrew variants # pour basculer sur la version 8.1.6 temporairement donc revient à la version par défaut au prochain démarrage de terminal phpbrew use 8.1.6 # ou basculer de façon permanente phpbrew switch 8.1.6 # pour revenir à la version par défaut du système phpbrew off
Installer PHP 7.4 sous Jammy (PHP8 par défaut)
Sous jammy, il faut installer la librairie Oniguruma (libonig-dev) et compiler la version d'OpenSSL compatible, cela donne les lignes suivantes 2) :
sudo apt install libonig-dev cd $HOME wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz tar xzf $HOME/openssl-1.1.1i.tar.gz cd openssl-1.1.1i ./Configure --prefix=$HOME/openssl-1.1.1i/bin -fPIC -shared linux-x86_64 make -j 8 make install export PKG_CONFIG_PATH=$HOME/openssl-1.1.1i/bin/lib/pkgconfig && phpbrew --debug install 7.4 +default
Et si tout s'est bien passé, on peut vérifier avec
phpbrew use php-7.4.30 php -v # qui doit retourner quelques lignes telle que : PHP 7.4.30 (cli) (built: Jun 30 2022 18:11:43) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies
Voir aussi
- (EN)https://phpbrew.github.io/phpbrew/ page officiel du dépôt phpbrew
- (fr) tutoriel de grafikart (sur lequel est basé cette page)
Contributeurs : bcag2