Instalar múltiples versiones de PHP en un sistema GNU/Linux
Si se necesita tener instaladas varias versiones de PHP en un sistemas GNU/Linux, lo recomendable, limpio y más simple es compilar e instalar cada versión de PHP requerida en un único directorio.
./configure --prefix=/opt/php_6.0 make make test make install DESTDIR=/opt/php_6.0
Directorios de instalación (Ejemplo)
- shared extensions: /opt/php_6.1/lib/php/extensions/no-debug-non-zts-20121212/
- PHP CLI binary: /opt/php_6.1/bin/
- PHP CLI man page: /opt/php_6.1/php/man/man1/
- PHP FPM binary: /opt/php_6.1/sbin/
- PHP FPM config: /opt/php_6.1/etc/
- PHP FPM man page: /opt/php_6.1/php/man/man8/
- PHP FPM status page: /opt/php_6.1/php/fpm/
- PHP CGI binary: /opt/php_6.1/bin/
- PHP CGI man page: /opt/php_6.1/php/man/man1/
- PHP Build environment: /opt/php_6.1/lib/php/build/
- PHP header files: /opt/php_6.1/include/php/
- PHP helper programs (phpize / phpize / php-config): /opt/php_6.1/bin/
- PHP man pages: /opt/php_6.1/php/man/man1/
- PHP PEAR environment: /opt/php_6.1/lib/php/
Con las opciones “–prefix” y “DESTDIR” se fuerza a que PHP se instale de forma completa y con las extensiones deseadas (se deben especificar antes de la compilación) en un solo directorio. Una vez instaladas las versiones pertinentes, solo quedaría configurar cada herramienta que utilice PHP para que apunte a la versión / carpeta necesaria. No hay una forma estándar de especificar a las aplicaciones qué versión de PHP utilizar, cada software es diferente y tiene unas capacidades de configuración distintas (opciones, variables, includes, enlaces simbólicos, etc).