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 26/10/2023, 11:18] – [Installation] màj de phpbrew bcag2phpbrew [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 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]], linstallation de PHP 7.4 requière la bibliothèque //oniguruma//, problème quon peut éviter en évitant linstallation du module mbstring : ajouter loption //-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 \  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+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 intialise phpbrew :+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
 </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 
-<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 +  * pour lister les versions disponibles de base :<code bash>phpbrew known</code> 
-phpbrew install 8.1.6 +default +mysql -mbstring+  * 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 [[: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> 
 +  * 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> 
 +  * 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 connaître les modules disponibles (et ceux inclus avec +default+==== Installer PHP 7.4 sous Jammy (PHP8 par défaut====
-phpbrew variants+
  
-# pour basculer sur la version 8.1.6 temporairement donc revient à la version par défaut au prochain démarrage de terminal +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)) :
-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) ==== +
-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 115: 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 :
 <code bash> <code bash>
Ligne 121: 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>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> <code bash>
-sudo apt install libpq-dev +phpbrew list ou autre commande 
-et ensuite +Checking Box requirements: 
-phpbrew install 8.1.12 +default +mysql +pgsql +  E. 
-# s'installe correctement"+ [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))
 +
 ===== 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]], ...//