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 02/04/2023, 16:27] – [Installer PHP 7.4 sous Jammy (PHP8 par défaut)] 88.122.202.2phpbrew [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 : 
-pour basculer sur la version 8.1.6 temporairement donc revient à la version par défaut au prochain démarrage de terminal +    * 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> 
-phpbrew use 8.1.6 +  * pour connaître les modules disponibles (et ceux inclus avec +default) :<code bash>phpbrew variants</code> 
-ou basculer de façon permanente +  *  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> 
-phpbrew switch 8.1.6 +  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 revenir à la version par défaut du système +
-phpbrew off +
-</code>+
  
 ==== Installer PHP 7.4 sous Jammy (PHP8 par défaut) ==== ==== 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)) :+ 
 +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)) :
 <code bash> <code bash>
 sudo apt install libonig-dev sudo apt install libonig-dev
Ligne 101: Ligne 90:
 </code> </code>
  
-<note important>important</note> +<note> 
-**__Pour le tutoriel__ :**+**Pour le tutoriel**
  
-1) l'utilisation de **vim**, demande une certaine maîtrise, je recommande **nano** pour le remplacer +  - L'utilisation de [[:vim]] demandant une certaine maîtrise, un autre [[:editeur_de_texte|éditeur de texte]] peut-être utilisé pour éditer les fichiers de configuration, comme [[:nano]]. 
 +  - Il est nécessaire d'installer [[:nginx]] pour faire le tutoriel de [[https://grafikart.fr/tutoriels/phpbrew-multiple-php-versions-1097|grafikart]] 
 +</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 cassimplement [[#installation|mettre à jour]] **PHPBrew**.((https://github.com/phpbrew/phpbrew/issues/1345#issuecomment-1572178475))
  
-2) Il est nécessaire d'installer **nginx** pour faire la démonstration de [[https://grafikart.fr/tutoriels/phpbrew-multiple-php-versions-1097|grafikart]] 
-<code>sudo apt install nginx</code> 
 ===== 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]], ...//