, , , ,

Phpbrew pour gérer plusieurs versions de PHP

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

$ 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

$ phpbrew list
  php-7.0.5
  * php-7.0.4
  php-5.6.20

Modifier la version de PHP active

switch

$ 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

 

$ 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

$ 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

[[ -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.

$ 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.

$ 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.

$ 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

$ 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

$ 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.

$ 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.

$ 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

 

 

Facebook Comments

0 réponses

Laisser un commentaire

Rejoindre la discussion?
N’hésitez pas à contribuer !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.