Hola, somos Arume

Desarrollamos páginas web, aplicaciones para móviles, capas de realidad aumentada y aplicaciones para Facebook. Nos apasiona la informática y somos unos perfeccionistas incurables; por eso en nuestros proyectos utilizamos estándares.

tel. 625 519 694

Mendaña de Neyra, 34, 3º B, 15008, A Coruña

Autenticarse

Registrarse. ¿Has olvidado tu contraseña?

Etiquetas

Saltar las etiquetas

Suscríbete a las RSS

Estás en:

  • Inicio >
  • Blog >
  • Instalar varias versiones de PHP en un servidor con Linux (Debian)

Instalar varias versiones de PHP en un servidor con Linux (Debian)

19 Nov 2010 por Jose

Comentarios: 4

Apache + PHP + ¿PHP?

Recientemente instalé un nuevo servidor en un equipo con Debian squeeze. El servidor web (Apache 2), PHP y MySQL los instalé de forma automática con apt.

La versión de PHP instalada fue la 5.3.2 y dado que venía trabajando en una 5.2.14 empecé a detectar algunos errores, que pude solucionar fácilmente. El problema es que sigo necesitando la versión antigua. Entonces me entra la duda: ¿puedo tener dos versiones distintas de PHP en un mismo servidor?

La respuesta es sí, y de una manera sencilla.

Primero debemos instalar unos paquetes requeridos, la mayoría ya instalados generalmente:

apt-get install flex apache2-threaded-dev libxml2-dev apache2 apache2-mpm-prefork apache2-threaded-dev apache2-utils apache2.2-bin apache2.2-common

Si ya tenemos una versión de PHP en nuestro servidor, para este caso, la desactivaremos, descargaremos y volveremos a instalar desde cero, para lo cual ejecutamos el comando:

a2dismod php5

O, en caso de que fuese PHP4 la versión instalada:

a2dismod php4

Esto lo realizaremos cada vez que queramos una nueva versión de PHP.

Después deberemos descargar las versiones que deseemos instalar. Podemos hacerlo desde php.net. Una vez descargadas deberemos desempaquetarlas, compilarlas e instalarlas.

Supongamos que el directorio donde descargamos y desempaquetamos las versiones de PHP está en la ruta /home/sources/php-5.3.2: nos situaremos en ella y entonces compilaremos cada versión:

./configure --prefix=/usr/local/php/php_5.3.2 --with-apxs2=/usr/bin/apxs2 --with-mysql
make 
make install

Esta es una compilación básica de PHP, cada usuario deberá compilar según sus propias necesidades.

A continuación deberemos crear un archivo php.ini en /usr/local/php/php_5.3.2/lib/, podemos copiar el php.ini-recommended cambiando el nombre.

Movemos el archivo generado en la compilación /usr/lib/apache2/modules/libphp5.so a /usr/local/php/php_5.3.2/modules/.

Creamos ahora el fichero de configuración /usr/local/php/php5.3.2.conf con el contenido:

LoadModule php5_module /usr/local/php/php_5.3.2/modules/libphp5.so

Esto lo repetimos tantas veces como versiones queramos instalar.

Incluimos al final del archivo de configuración /etc/apache2/httpd.conf la siguiente línea:

Include /etc/apache2/php.conf

Finalmente generamos un script que nos permita cambiar de versión cómodamente:

/bin/php.sh

#!/bin/bash
opcion=0
cat << CABECERAMENU
Opciones del menu
1 => PHP 5.2.14
2 => PHP 5.3.2
CABECERAMENU
echo -n "Ingrese su eleccion: "
read opcion
echo
case $opcion in
"1")
rm /etc/apache2/php.conf
ln -s /usr/local/php/php5.2.14.conf /etc/apache2/php.conf
/etc/init.d/apache2 restart
;;
"2")
rm /etc/apache2/php.conf
ln -s /usr/local/php/php5.3.2.conf /etc/apache2/php.conf
/etc/init.d/apache2 restart
;;
*)
echo "Opcion no valida"
;;
esac

Con esto tendremos las distintas versiones de PHP, pudiendo decidir cual queremos usar ejecutando un simple script.

Podemos ver la fuente de la información en TechnoBlog.

Comentarios

4 comentarios. Comentar.

1. Anónimo el 10 Nov 2011 a las 20:56:26

Hola está muy buena la información, a mi me ayudo puesto que actualice el php a 5.3 y tenia decenas de páginas en joomla 1.0 y 1.5 que no están soportadas por esa versión.

Pero además se puede cargar el modulo manualmente en los virtualhost's para tener ambas versiones funcionando al mismo tiempo.

Saludos.

2. Carlos el 23 Feb 2012 a las 15:40:40

hola, pueden explicar como configurar el virtualhost para tener varias versiones de php funcionando al mismo tiempo

3. Jairnet el 25 Ago 2016 a las 09:27:16

Excelente, la mayoria de los post explican para tener simultaneamente (se les agradece) las versiones. pero para efecto de prueba es más simple este procedimiento si solo tenemos un proyecto. Gracias

4. William Finol el 29 May 2017 a las 19:36:26

Me da el siguiente error cuando compilo

Makefile:442: recipe for target 'ext/dom/documenttype.lo' failed

que debo hacer?

Comentar

Comentar de forma anónima

Puedes comentar poniendo cualquier nombre o apodo, exceptuando los nombres de usuarios registrados. Máximo de 50 caracteres.

Comentar como usuario registrado

Registrarse. ¿Has olvidado tu contraseña?