Diferentes versiones de PHP según VirtualHost o directorio
Enviado por miguelcarmona :: 18 de abril de 2012
Con los cambios de las versiones de PHP 5.3 y 5.4 puede resultar interesante mantener ciertas partes en una versión de PHP anterior y seguir otras con la última estable. Vamos a ver como instalar varios PHP en un mismo Apache.
La instalación del PHP, en este caso 5.2 deberá ser en modo CGI, simplemente deberemos preocuparnos de instalarlo con un prefix diferente y con el fichero de configuración en otro sitio:
--prefix=/usr/local/php52
--with-config-file-path=/usr/local/php52/etc/
Lo compilamos e instalamos normalmente copiando el fichero de configuración a su sitio:
make && make install
cp php.ini-dist /usr/local/php52/etc/php.ini
sed 's#display_errors = On#display_errors = Off#g' -i /usr/local/php52/etc/php.ini
Suponiendo que tenemos instalado el apache con PHP 5.4:
# curl -I localhost/systemadmin.es/index.php
HTTP/1.1 200 OK
Date: Tue, 10 Apr 2012 09:50:50 GMT
Server: Apache
X-Powered-By: PHP/5.4.0
Content-Type: text/html
Para configurar el directorio /systemadmin.es con PHP 5.2 deberemos definir el directorio dónde tenemos el binario php-cgi como directorio de CGIs (ScriptAlias) y a continuación definir el Handler para el tipo de ficheros acabados en .php (la sintaxi Require es de Apache 2.4):
Require all granted
ScriptAlias /php52-cgi /usr/local/php52/bin
Action php52-cgi /php52-cgi/php-cgi
AddHandler php52-cgi .php
SetHandler php52-cgi
Una vez reiniciado el Apache podremos ver como servimos con PHP 5.2 dicho directorio mientras el resto siguen con la otra versión de PHP instalada:
curl -I localhost/systemadmin.es/index.php
HTTP/1.1 200 OK
Date: Tue, 10 Apr 2012 10:15:30 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Content-Type: text/html
vía: http://systemadmin.es/2012/04/diferentes-versiones-de-php-segun-virtualhost-o-directorio