Seguimos el tutorial oficial de instalación que se encuentra en esta página.
Aunque Ubuntu lleva el php5 instalado, vamos a hacer un update de versión para asegurar de que todo se hace bien:
cvs -d :pserver:cvsread@cvs.php.net:/repository login
cvs -d :pserver:cvsread@cvs.php.net:/repository co -r PHP_5_2 php-src
Si no teneis el CVS instalado: sudo apt-get install cvs
Ahora que ya esta actualizada/comprobada la version de php, procedemos a compilar su instalación, para ello es necesario seguir los siguientes pasos, (atención a posibles fallos, comento dos más abajo):
cd php-src
./buildconf
./configure --prefix=/opt/php5_2 --disable-cgi
make
su
make install
echo extension=php_gtk2.so >> /opt/php5_2/lib/php.ini
/opt/php5_2/bin/php-config --extension-dir | xargs echo 'extension_dir=' >> /opt/php5_2/lib/php.ini
A mi me ha dado dos errores el paso de ‘./configure…’, éstos han sido:
1. configure: error: Found invalid flex version: 2.5.34. Supported flex versions are: 2.5.4
En Ubuntu 8.04 viene instalada la versión de flex 2.5.34 y la soportada es la flex 2.5.4, que ubuntu la tiene en sus repositorios como flex-old. Si vuestro caso es el mismo teneis que ir al gestor de paquetes synaptic, buscar ‘flex’ y de la lista que sale buscar el paquete flex instalado, marcar para eliminar completamente y un poco más abajo marcar ‘flex-old’.
2. configure: error: xml2-config not found. Please check your libxml2 installation.
Si ocurre esto, hay que ir de nuevo al gestor de paquetes synaptic, buscar ‘libxml2′ y en la lista que nos mostrará, marcar para instalar la fila que pone ‘libxml2-dev’.
El tercer paso, make, es el que se encarga de compilar. Si en este paso os dice ‘failed to open stream’ es porque el paso anterior se ha hecho mal, vuelve a lanzarlo y comprueba que la ultima linea no ponga algo de error. Si este paso se ejecuta con todo correcto tarda un poco en completarse y saca mucho texto por pantalla ya que compila todas las librerias que no són pocas.
Según la guía oficial de php-gtk2 hay que hacer un su, y posteriormente un make install, así pues esto sirve para acabar de instalar los paquetes con derechos de root(su), por tanto:
sudo su (os pedira contraseña)
make install
Si hasta aquí todo ha ido bien, los dos últimos pasos no darán problemas, asi que soo hay que hacer copiar y pegar de esos pasos:
echo extension=php_gtk2.so >> /opt/php5_2/lib/php.ini
/opt/php5_2/bin/php-config --extension-dir | xargs echo 'extension_dir=' >> /opt/php5_2/lib/php.ini
Ahora toca compilar todo el tema del PHP-GTK2:
cd ..
cvs -d :pserver:cvsread@cvs.php.net:/repository co php-gtk
cd php-gtk
./buildconf --with-phpize=/opt/php5_2/bin/phpize
./configure --with-php-config=/opt/php5_2/bin/php-config --with-libglade
make
make install
Y aquí, en el paso del ‘./configure…’ he vuelto a tener problemas con las versiones de mis instalaciones:
1. configure: error: PHP-GTK 2.x requires GLib 2.6.0 or higher
Se queja de que no tiene la libreria Glib adecuada, es necesario instalar ‘libglib2.0-dev’ para solventar este problema, así que ya sabeis, a buscarlo en el gestor de paquetes synaptic.
2. configure: error: PHP-GTK 2.x requires GTK+ 2.6.0 or higher
Más o menos lo mismo que el anterior, error de versión, en esta ocasión toca buscar en el gestor de paquetes synaptic ‘libgtk2.0-dev’.
Una vez solventados estos dos problemas, que recuerdo, pueden ser distintos o no tener errores directamente en tu caso, ya que puede ser que tengas los modulos previamente instalados correctamente, sólo hay que hacer un par de instrucciones mas que no darán problemas:
make
sudo make install
El ultimo paso es hacer un enlace a la instalacion del nuevo PHP que hemos hecho:
ln -s /opt/php5_2/bin/php /usr/bin/php-gtk