Phpbrew pour gérer plusieurs versions de PHP
Phpbrew est un outil essentiel pour le développeur qui doit travailler sur plusieurs projets PHP ayant des versions différentes.
Par exemple, si vous développez un projet qui utilise PHP 5.5 et un autre qui utilise PHP 7.0.4, vous devrez configurer 2 versions de PHP. Phpbrew offre une interface de ligne de commande simple à utiliser. Voici comment passer d’une version à l’autre à la vitesse de la lumière.
Afficher les versions de PHP disponibles
known
1 2 3 4 5 6 |
$ phpbrew known 7.0: 7.0.5, 7.0.4, 7.0.3, 7.0.2, 7.0.1, 7.0.0 ... 5.6: 5.6.20, 5.6.19, 5.6.18, 5.6.17, 5.6.16, 5.6.15, 5.6.14, 5.6.13 ... 5.5: 5.5.34, 5.5.33, 5.5.32, 5.5.31, 5.5.30, 5.5.29, 5.5.28, 5.5.27 ... 5.4: 5.4.45, 5.4.44, 5.4.43, 5.4.42, 5.4.41, 5.4.40, 5.4.39, 5.4.38 ... |
Afficher les versions de PHP installées
list
1 2 3 4 |
$ phpbrew list php-7.0.5 * php-7.0.4 php-5.6.20 |
Modifier la version de PHP active
switch
1 2 3 4 5 |
$ phpbrew switch 5.6.20 $ php -v PHP 5.6.20 (cli) (built: Apr 6 2016 14:36:07) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies |
1 2 3 4 5 |
$ phpbrew switch 7.0.5 $ php -v PHP 7.0.5 (cli) (built: Apr 6 2016 12:10:17) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies |
Installer phpbrew sur Ubuntu
Télécharger et initialiser Phpbrew
1 2 3 4 |
$ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew $ chmod +x phpbrew $ sudo mv phpbrew /usr/local/bin/phpbrew $ phpbrew init |
Modififier le fichier .bashrc
Ajouter à votre fichier .bashrc
1 |
[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc |
Configurer et ajouter une version de PHP
install
Une fois phpbrew installé, la première étape consiste à identifier les versions de PHP connues disponibles.
1 2 3 4 |
$ phpbrew known 7.0: 7.0.5, 7.0.4, 7.0.3, 7.0.2, 7.0.1, 7.0.0 ... 5.6: 5.6.20, 5.6.19, 5.6.18, 5.6.17, 5.6.16, 5.6.15, 5.6.14, 5.6.13 ... |
Une fois la version de PHP identifiée, il faut sélectionner les options de compilations et lancer le processus de création des binaires.
1 |
$ phpbrew install 7.0.5 +default+dbs+mb |
Les variantes
Afin de compiler une version de PHP qui correspond à vos besoins, il est important de sélectionner les options et modules nécessaires. L’option variants permet d’afficher les modules disponibles pour la compilation. Par exemple, si vous désirez le support pour la base de données MySQL, vous devrez l’ajouter à la compilation. Si vous désirez une librairie pour le traitement d’images, GD pourra être ajouté. Voici donc toutes les options offertes par phpbrew.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ phpbrew variants Variants: all, apxs2, bcmath, bz2, calendar, cgi, cli, ctype, curl, dba, debug, dom, embed, exif, fileinfo, filter, fpm, ftp, gcov, gd, gettext, gmp, hash, iconv, icu, imap, inifile, inline, intl, ipc, ipv6, json, kerberos, libgcc, mbregex, mbstring, mcrypt, mhash, mysql, opcache, openssl, pcntl, pcre, pdo, pgsql, phar, phpdbg, posix, readline, session, soap, sockets, sqlite, static, tidy, tokenizer, wddx, xml, xml_all, xmlrpc, zip, zlib, zts Virtual variants: dbs: sqlite, mysql, pgsql, pdo mb: mbstring, mbregex neutral: default: bcmath, bz2, calendar, cli, ctype, dom, fileinfo, filter, ipc, json, mbregex, mbstring, mhash, mcrypt, pcntl, pcre, pdo, phar, posix, readline, sockets, tokenizer, xml, curl, openssl, zip everything: dba, ipv6, dom, calendar, wddx, static, inifile, inline, cli, fpm, ftp, filter, gcov, zts, json, hash, exif, mbstring, mbregex, libgcc, |
Lancer la compilation d’un version de PHP
La dernière étape consiste à lancer la compilation de votre version de PHP. Ce processus peut demander plusieurs minutes.Voici à quoi peut ressembler la commande install :
PHP 7
1 2 3 4 5 6 7 8 9 10 |
$ phpbrew install 7.0.4 +default+mysql+sqlite+mb+iconv+json+iconv+exif+fileinfo +opcache ===> phpbrew will now build 7.0.4 ===> Loading and resolving variants... ===> Downloading from http://www.php.net/get/php-7.0.4.tar.bz2/from/this/mirror Resolving www.php.net (www.php.net)... 72.52.91.14, 2a02:cb41::7, 2a02:cb41::7 Location: http://php.net/get/php-7.0.4.tar.bz2/from/this/mirror [following] Length: 14027088 (13M) [application/octet-stream] Saving to: ‘/home/user/.phpbrew/distfiles/php-7.0.4.tar.bz2’ 100%[======================================>] 14,027,088 1.23MB/s in 11s |
PHP 5.6
1 2 3 |
$ phpbrew install 5.6.20 +default+mysql+sqlite+mb+iconv+json+iconv+exif+fileinfo $ phpbrew 5.6 $ php -v |
Modifier la configuration de php.ini
Phpbrew offre un utilitaire afin de modifier la configuration de votre php.ini.
1 |
$ phpbrew config |
La commande config ouvrira le fichier php.ini dans l’éditeur vim. Si vous ne connaissez pas cet éditeur, je vous propose ce résumé :
- Passer en mode édition : i
- Passer en mode commande : ESC
- Sauvegarder la modification : ESC, :, WQ, Enter
- Quitter VIM sans sauvegarder : ESC, :,!q, Enter
Cheat sheet pour VIM (http://vim.rtorr.com/)
Erreurs rencontrées
Lors de la compilation des modules de PHP, certaines librairies doivent être installées sur votre système. Lisez-bien les messages d’erreur afin d’ajouter les dépendances nécessaires.
1 2 3 4 5 |
$ sudo apt-get install bzip2 $ sudo apt-get install libbz2-dev $ sudo apt-get install libmcrypt-dev $ sudo apt-get install libreadline-dev $ sudo apt-get install libxslt |
Références
https://github.com/phpbrew/phpbrew
Laisser un commentaire
Participez-vous à la discussion?N'hésitez pas à contribuer!