Como instalar PHP 5.2 en Ubuntu 10.04 desde las fuentes.
Juan Pablo Romero
Software EngineerLa versión de PHP que nos proveen los repositorios de Ubuntu 10.04 Lucid Lynx es la 5.3 y puede ocurrirnos que debemos ejecutar aplicaciones en la versión 5.2.x sin remover la que actualmente tenemos instalada. Una posible solución a este pequeño inconveniente es hacer uso del módulo fast_cgi de nuestro servidor web e instalar desde los fuentes la versión anterior que estamos necesitando.
A continuación una serie de pasos que pueden resultar útiles:
-
Descargamos los fuentes de php 5.2.x. Para este post usamos la versión 5.2.17.
Instalamos las librerías de desarrollo necesarias para la compilación.
$ sudo apt-get install libxml2-dev libbz2-dev libcurl4-gnutls-dev libjpeg62-dev libpng12-dev libc-client2007e-dev libmcrypt-dev libmhash-dev libmysqlclient-dev libpspell-dev libreadline-dev libsnmp-dev libtidy-dev libxslt1-dev
- A continuación descomprimimos los fuentes y dependiendo el comprimido que hayamos descargado usamos:
$ tar xfj php-5.2.17.tar.bz2
$ tar xfz php-5.2.17.tar.gz
Ingresamos al directorio de los fuentes y nos preparamos para la configuración haciendo uso de las siguientes opciones que nos adicionarán los módulos que serán usados al compilar.
$ ./config --prefix=/path/to/php/php5.2 --with-config-file-path=/path/to/php5.2 --with-mysqli --with-mysql --with-curl --with-gd --with-png-dir --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect --with-pdo-mysql --enable-mbstring --enable-mbregex --enable-bcmath --with-bz2 --enable-calendar --enable-dba --enable-exif --enable-ftp --with-gettext --with-imap --with-mcrypt --with-mhash --with-openssl --enable-pcntl --with-pspell --with-readline --enable-shmop --with-snmp --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-wddx --with-xmlrpc --with-xsl --enable-zip --with-zlib --with-kerberos --with-imap-ssl
-
Si todo sale bien empezamos la compilación
$ make
A continuación se nos informa acerca de correr un test, si deseamos lo ejecutamos
$ make test
A continuación realizamos la instalación de PHP.
$ sudo make install
Finalmente comprobamos que todo ha salido bien.
$ /path/to/php/php5.2/bin/php --version PHP 5.2.17 (cli) (built: Jan 12 2011 14:02:13) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
Podemos revisar también los módulos que hemos instalado.
$ /path/to/php/php5.2/bin/php -m [PHP Modules] bcmath bz2 calendar ctype curl date dba dom exif filter ftp gd gettext hash iconv imap json libxml mbstring mcrypt mhash mysql mysqli openssl pcntl pcre PDO pdo_mysql pdo_sqlite posix pspell readline Reflection session shmop SimpleXML snmp soap sockets SPL SQLite standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
Ahora podemos desplegar aplicaciones con PHP 5.3 y PHP 5.2 en la misma máquina.
Written by Juan Pablo Romero
Juan Pablo designs and builds robust software solutions with a focus on performance and usability. His problem-solving skills and attention to detail ensure high-quality and efficient applications.