Noviembre 26, 2014
enzo
Si eres un programador PHP Estoy seguro de que has estado en una situación en la que necesitas mantener varios proyectos y es posible que algunos de ellos requieren diferentes versiones de PHP.
Hoy en día para resolver la situación antes descrita la recomendación común es instalar una máquina virtual como Vagrant o Docker las cuales por supuesto funcionan, pero si usted no es un gran fan de las máquinas virtuales como yo y especialmente si es solo para cambiar la versión de PHP. Bueno hoy te tengo una buena noticia que pueda resolver sus problemas mediante el proyecto Phpbrew.
- Instalar Phpbrew.
Primero debemos asegurarnos que nuestro sistema tiene las dependencias necesarias.
1.1 Dependencias.
Si ya dispone de un entorno de desarollo en PHP es probable que usted puede saltarse esta sección.
Se requieren los siguientes programa.
- automake
- autoconf
- curl
- pcre
- re2c
- mhash
- libtool
- icu4c
- gettext
- jpeg
- libxml2
- mcrypt
- gmp libevent
Si estas en Mac OS X y utiliza brew puedes utilizar el siguiente comando.
$ brew install automake autoconf curl pcre re2c mhash libtool icu4c gettext jpeg libxml2 mcrypt gmp libevent
$ brew link icu4c1.2 Descargar, Instalar e Initicializar
Para instalar sólo tiene que ejecutar los siguientes comandos
$ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
$ chmod +x phpbrew
$ sudo mv phpbrew /usr/bin/phpbrewAhora debe inicializar el sistema ejecutando el siguiente comando.
$ phpbrew initA continuación debes añadir estas líneas a tu .bashrc, .bash_profile o archivo .zshrc
export PHPBREW_SET_PROMPT=1
source ~/.phpbrew/bashrc- Comandos Phpbrew
2.1 Lista de versiones PHP disponibles para ser instaladas.
$ phpbrew known
5.6: 5.6.1, 5.6.0 ...
5.5: 5.5.17, 5.5.16, 5.5.15, 5.5.14, 5.5.13, 5.5.12, 5.5.11, 5.5.10 ...
5.4: 5.4.33, 5.4.32, 5.4.31, 5.4.30, 5.4.29, 5.4.28, 5.4.27, 5.4.26 ...
5.3: 5.3.29, 5.3.28, 5.3.27, 5.3.26, 5.3.25, 5.3.24, 5.3.23, 5.3.22 ...2.2 Instalar una versión específica de PHP.
$ phpbrew install 5.5.10Es necesario esperar hasta que Phpbrew termine de configurar el sistema, tenga paciencia.
2.2 Instalar PHP con librerías específicas o variante virtual.
$ sudo phpbrew install 5.5.10 +mysql +pdo +ctype +mhash +hash +iconv +json +iconv +gd +apxs2=/usr/sbin/apxs -- --with-gd --enable-gd-natf --with-jpeg-dir --with-png-dir
$ sudo phpbrew install 5.5.10 +default +mysql +hash +iconv +gd +apxs2=/usr/sbin/apxs -- --with-gd --enable-gd-natf --with-jpeg-dir --with-png-dirSi usted no sabe dónde se encuentra el directorio apxs para su apache, puede ejecutar el siguiente comando.
$ whereis apxs
/usr/sbin/apxsLas anteriores obras de instalación para utilizar con Drupal 8 y Spress.
2.3 Obtener una lista de las bibliotecas o variantes disponibles
$ phpbrew variants
Variants:
all, apxs2, bcmath, bz2, calendar, cgi, cli, ctype, curl, dba, debug, dom,
embed, exif, fileinfo, filter, fpm, ftp, gcov, gd, gettext, hash, iconv,
icu, imap, inifile, inline, intl, ipc, ipv6, json, kerberos, libgcc,
maintainer, 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
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, zip
Using variants to build PHP:
phpbrew install php-5.3.10 +default
phpbrew install php-5.3.10 +mysql +pdo
phpbrew install php-5.3.10 +mysql +pdo +apxs2
phpbrew install php-5.3.10 +mysql +pdo +apxs2=/usr/bin/apxs22.4 Listar versiones pde PHP disponibles en el sistema.
$ phpbrew list
Installed versions:
* php-5.5.102.5 Cambiar version de PHP
$ phpbrew switch php-5.5.102.6 Deshabilitar PHPBrew
$ phpbrew off
phpbrew is turned off.Después de desactivar Phpbrew puede ejecutar el siguiente comando para comprobar el estado actual del sistema
$ phpbrew list
Installed versions:
* (system)
php-5.5.10Como se puede ver la versión de PHP disponible será la versión normal PHP que tiene tu sistema, por supuesto es posible habilitar de nuevo otra versión de PHP con el comando que se explicó anteriormente.
2.7 Activar versión de PHPbrew en Apache
Después de activar una versión de PHP debemos informar a Apache sobre esta nueva versión de PHP, editando el archivo de configuración de Apache /etc/apache2/httpd.conf o /private/etc/apache2/httpd.conf como se puede ver en el siguiente fragmento de la configuración.
#LoadModule php5_module libexec/apache2/libphp5.so #Disabled
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
LoadModule php5_module libexec/apache2/libphp5.5.10.soComo se puede imaginar se requiere un reinicio del servicio de Apache.
2.8 Actualizar PHPBrew
$ phpbrew self-update2.9 Modificar el PHP info
Es probable que después de habilitar una nueva versión de PHP se haya tu configuración anterior, para determinar dónde se encuentran sólo necesita ejecutar el siguiente comando.
$ phpbrew info | grep php.ini
Loaded Configuration File => ~/.phpbrew/php/php-5.5.10/etc/php.iniRetire la parte grep para obtener toda la información.
Espero que haya sido de su agrado.
