Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
phpbrew [Le 03/04/2023, 13:48] – mise en forme note bcag2phpbrew [Le 15/09/2026, 04:05] (Version actuelle) – +install curl | sous-chapitres erreurs | mise en forme : éviter de tout mettre en commentaire krodelabestiole
Ligne 1: Ligne 1:
 {{tag>console programmation terminal }} {{tag>console programmation terminal }}
----- 
  
 ====== PHPBrew ====== ====== PHPBrew ======
  
-[[https://phpbrew.github.io/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.+**[[https://phpbrew.github.io/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]]. Il est essentiellement utile sur une machine de développement. Pour un serveur, on privilégiera l'utilisation de [[:docker]].
  
-<note warning>Selon la version d’Ubuntu, des problèmes pour installer certaines versions de PHP peuvent se poser, liés à des contraintes de dépendances. Par exemple sous [[:Jammy]], l’installation de PHP 7.4 requière la bibliothèque //oniguruma//, problème qu’on peut éviter en évitant linstallation du module mbstring : ajouter l’option //-mbstring//, … mais on passe alors à une erreur liée à OpenSSL… qui nécessite de compiler la version OpenSSL plus ancienne qui va avec ((https://github.com/phpbrew/phpbrew/issues/1263)) </note>+<note warning> 
 +Selon la version d’Ubuntu, des problèmes pour installer certaines versions de PHP peuvent se poser, liés à des contraintes de dépendances. Par exemple sous [[:jammy|Jammy 22.04]], l’installation de PHP 7.4 requière la bibliothèque //oniguruma//, problème qu’on peut éviter en évitant l'installation du module mbstring : ajouter l’option //-mbstring//, … mais on passe alors à une erreur liée à OpenSSL… qui nécessite de compiler la version OpenSSL plus ancienne qui va avec.((https://github.com/phpbrew/phpbrew/issues/1263)) 
 +</note>
  
 ===== Installation ===== ===== Installation =====
-Il faut installer certains paquets dont aura besoin PHPBrew. Selon sa version d'Ubuntu, cela peut changer un peu, reportez-vous à la page [[https://github.com/phpbrew/phpbrew/wiki/Requirement#ubuntu-requirements|Ubuntu Requirements]] du projet. 
  
-Pour [[:jammy]], cela donne : +Il faut installer certains paquets dont aura besoin **PHPBrew**. Selon sa version d'Ubuntu, cela peut changer un peu, reportez-vous à la page //[[https://github.com/phpbrew/phpbrew/wiki/Requirement#ubuntu-requirements|Ubuntu Requirements]]// du projet.
-<code bash> +
-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 +
-</code>+
  
-Pour [[:focal]], cela donne : 
 <code bash> <code bash>
-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+sudo apt install build-essential libbz2-dev libreadline-dev libsqlite3-dev libcurl4-gnutls-dev libzip-dev libssl-dev \  
 +curl php-xml libxslt-dev php-cli php-bz2 pkg-config
 </code> </code>
  
-On télécharge et installe ensuite phpbrew :+On télécharge et installe ensuite **PHPBrew** :
 <code bash> <code bash>
 # téléchargement # téléchargement
Ligne 35: Ligne 32:
 </code> </code>
  
-on intialise phpbrew :+<note tip>pour la mise à jour, on peut simplement exécuter les trois commandes ci-dessus (curl, chmod et mv)</note> 
 + 
 +On initialise **PHPBrew** :
 <code bash> <code bash>
 phpbrew init phpbrew init
 </code> </code>
  
-puis on ajoute à son fichier //~/.bashrc// la ligne :+Puis on ajoute à son fichier ''~/.bashrc'' la ligne :
 <code bash> <code bash>
 [[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc [[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
Ligne 53: Ligne 52:
  
 ===== Utilisation ===== ===== Utilisation =====
-Quelques commandes 
-<code bash> 
-# pour lister les versions disponible de base 
-phpbrew known 
-# pour ajouter les versions 5 : 
-phpbrew update --old 
  
-# ajouter une version PHP sur sa machine : +Quelques commandes :
-# 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) : +  * pour lister les versions disponibles de base :<code bash>phpbrew known</code> 
-phpbrew variants+  * pour ajouter les versions 5 :<code bash>phpbrew update --old</code> 
 +  * 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<code bash>phpbrew install 8.1.6 +default +mysql -mbstring</code> 
 +  * pour connaître les modules disponibles (et ceux inclus avec +default) :<code bash>phpbrew variants</code> 
 +  *  pour basculer sur la version 8.1.6 temporairement donc revient à la version par défaut au prochain démarrage de terminal<code bash>phpbrew use 8.1.6</code> 
 +  * ou basculer de façon permanente<code bash>phpbrew switch 8.1.6</code> 
 +  * pour revenir à la version par défaut du système<code bash>phpbrew off</code>
  
-# pour basculer sur la version 8.1.6 temporairement donc revient à la version par défaut au prochain démarrage de terminal +==== Installer PHP 7.4 sous Jammy (PHP8 par défaut) ====
-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 +Sous [[:jammy|Jammy 22.04]], il faut installer la librairie Oniguruma (//libonig-dev//) et compiler la version d'OpenSSL compatible, cela donne les lignes suivantes ((https://github.com/phpbrew/phpbrew/issues/1263)) :
-phpbrew off +
-</code> +
- +
-==== 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 ((https://github.com/phpbrew/phpbrew/issues/1263)) :+
 <code bash> <code bash>
 sudo apt install libonig-dev sudo apt install libonig-dev
Ligne 107: Ligne 96:
   - Il est nécessaire d'installer [[:nginx]] pour faire le tutoriel de [[https://grafikart.fr/tutoriels/phpbrew-multiple-php-versions-1097|grafikart]]   - Il est nécessaire d'installer [[:nginx]] pour faire le tutoriel de [[https://grafikart.fr/tutoriels/phpbrew-multiple-php-versions-1097|grafikart]]
 </note> </note>
 +
 +L'installation de certain module peut poser problème, n'hésitez pas à consulter les tickets voire à en créer un sur [[https://github.com/phpbrew/phpbrew/issues/|page de bugs du dépôt officiel]]
 +
 +==== Problèmes rencontrés ====
 +
 +=== PostgreSQL ===
 +
 +Lors de l'installation d'une version de PHP (8.1.11) avec le module //pgsql//, ça retourne l'erreur :
 +<code bash>
 +checking for pg_config... not found
 +configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
 +</code>
 +Il suffit d'installer au préalable la bibliothèque //libpq-dev// :
 +<code bash>sudo apt install libpq-dev</code>
 +**PHPBrew** installe ensuite PHP correctement :
 +<code bash>phpbrew install 8.1.12 +default +mysql +pgsql</code>
 +
 +=== Not ready ===
 +
 +Autre erreur rencontrée :
 +<code bash>
 +phpbrew list # ou autre commande
 +Checking Box requirements:
 +  E.
 + [ERROR] Your system is not ready to run the application.
 +</code>
 +Dans ce cas, simplement [[#installation|mettre à jour]] **PHPBrew**.((https://github.com/phpbrew/phpbrew/issues/1345#issuecomment-1572178475))
 +
 ===== Voir aussi ===== ===== Voir aussi =====
-  * <sup>(EN)</sup>[[https://phpbrew.github.io/phpbrew/]] page officiel du dépôt phpbrew 
-  * <sup>(fr)</sup> [[https://grafikart.fr/tutoriels/phpbrew-multiple-php-versions-1097|tutoriel de grafikart]] (sur lequel est basé cette page) 
  
-----+  * **(//en//)** [[https://phpbrew.github.io/phpbrew/]] page officiel du projet **PHPBrew** 
 +  * [[https://grafikart.fr/tutoriels/phpbrew-multiple-php-versions-1097|tutoriel de grafikart]] (sur lequel est basé cette page)
  
-//Contributeurs : [[:utilisateurs/bcag2]]//+---- 
 +//[[:Contributeurs]] : [[:utilisateurs:bcag2]], ...//