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 14/09/2026, 23:17] – remplace libxml2-dev par php-xml | détails krodelabestiolephpbrew [Le 22/09/2026, 10:43] (Version actuelle) – liens internes | mise en forme (éviter de tout mettre en commentaire bash, impossible à mettre en forme ou lier à quoi que ce soit) krodelabestiole
Ligne 3: Ligne 3:
 ====== 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> <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 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))+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> </note>
  
Ligne 16: Ligne 16:
 <code bash> <code bash>
 sudo apt install build-essential libbz2-dev libreadline-dev libsqlite3-dev libcurl4-gnutls-dev libzip-dev libssl-dev \  sudo apt install build-essential libbz2-dev libreadline-dev libsqlite3-dev libcurl4-gnutls-dev libzip-dev libssl-dev \ 
-php-xml libxslt-dev php-cli php-bz2 pkg-config+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 ensuite **PHPBrew** : 
-<code bash> +<code bash>curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar</code> 
-# téléchargement +Ajout des droits d'exécution : 
-curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar +  chmod +x phpbrew.phar 
-# ajout des droits d'exécution +Déplacement dans le bon répertoire et renommage : 
-chmod +x phpbrew.phar +  sudo mv phpbrew.phar /usr/local/bin/phpbrew 
-# déplacement dans le bon répertoire et renommage +On peut vérifier que le répertoire ''/usr/local/bin'' est bien défini dans la [[:variables d_environnement|variable d'environnement]] ''$PATH'' : 
-sudo mv phpbrew.phar /usr/local/bin/phpbrew +  echo $PATH | grep "usr/local/bin" 
-# on peut vérifier que le répertoie /usr/local/bin est bien défini dans la variable d'environnement $PATH +''usr/local/bin'' doit ressortir surligné.
-echo $PATH | grep "usr/local/bin" +
-# usr/local/bin doit ressortir surligné +
-</code>+
  
-<note tip>pour la mise à jour, on peut simplement exécuter les trois commandes ci-dessus (curl, chmod et mv)</note>+<note tip> 
 +Pour la mise à jour, on peut simplement exécuter les trois commandes ci-dessus (''curl'', ''chmod'' et ''mv''). 
 +</note>
  
 On initialise **PHPBrew** : On initialise **PHPBrew** :
Ligne 44: Ligne 43:
 </code> </code>
  
-on recharge notre fichier //.bashrc// : +On recharge notre fichier ''.bashrc'' : 
-<code bash> +  source ~/.bashrc 
-source ~/.bashrc +Puis on définit le préfixe par défaut pour la recherche des bibliothèque 
-# puis on définit le préfixe par défaut pour la recherche des bibliothèque +  phpbrew lookup-prefix ubuntu
-phpbrew lookup-prefix ubuntu +
-</code>+
  
 ===== Utilisation ===== ===== Utilisation =====
  
-Quelques commandes +Quelques commandes : 
-<code bash> +  * pour lister les versions disponibles de base :<code bash>phpbrew known</code> 
-# pour lister les versions disponible de base +  * pour ajouter les versions 5 :<code bash>phpbrew update --old</code> 
-phpbrew known +  * ajouter une version PHP sur sa machine : 
-# pour ajouter les versions 5 : +    * la version 8.1.6 avec les [[:php#modules]] par défaut, le module [[:mysql]] et on évite le module mbstring qui requiert la bibliothèque oniguruma :<code bash>phpbrew install 8.1.6 +default +mysql -mbstring</code> 
-phpbrew update --old +  * 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 du [[:terminal]]) :<code bash>phpbrew use 8.1.6</code> 
-# ajouter une version PHP sur sa machine : +  * ou basculer de façon permanente<code bash>phpbrew switch 8.1.6</code> 
-# 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 +  * pour revenir à la version par défaut du système<code bash>phpbrew off</code>
-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 +
-</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 (''[[apt>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 112: Ligne 96:
  
 ==== Problèmes rencontrés ==== ==== 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 : Lors de l'installation d'une version de PHP (8.1.11) avec le module //pgsql//, ça retourne l'erreur :
Ligne 119: Ligne 105:
 </code> </code>
 Il suffit d'installer au préalable la bibliothèque //libpq-dev// : Il suffit d'installer au préalable la bibliothèque //libpq-dev// :
-<code bash> +<code bash>sudo apt install libpq-dev</code> 
-sudo apt install libpq-dev +**PHPBrew** installe ensuite PHP correctement : 
-# et ensuite +<code bash>phpbrew install 8.1.12 +default +mysql +pgsql</code> 
-phpbrew install 8.1.12 +default +mysql +pgsql + 
-# s'installe correctement" +=== Not ready ===
-</code>+
  
 Autre erreur rencontrée : Autre erreur rencontrée :
Ligne 130: Ligne 115:
 phpbrew list # ou autre commande phpbrew list # ou autre commande
 Checking Box requirements: Checking Box requirements:
-  E.                                                                                                                                                                                                              +  E.
  [ERROR] Your system is not ready to run the application.  [ERROR] Your system is not ready to run the application.
 </code> </code>
-Dans ce cas, simplement [[#installation|mettre à jour]] phpbrew ((https://github.com/phpbrew/phpbrew/issues/1345#issuecomment-1572178475))+Dans ce cas, simplement [[#installation|mettre à jour]] **PHPBrew**.((https://github.com/phpbrew/phpbrew/issues/1345#issuecomment-1572178475))
  
 ===== Voir aussi ===== ===== Voir aussi =====