Historia de PHP

Todos aquellos que nos dedicamos profesionalmente al mundo de las tecnologías, a las ciencias de la computación y a la Ingeniería en Informática, sabemos que debemos estar actualizados a nivel de conocimientos y a nivel de aplicaciones, tanto a nivel cliente como a nivel servidor.

El mundo del diseño y desarrollo web ha cambiado muchísimo a lo largo de estos años, y las tecnologías utilizadas han evolucionado también, lo que ha provocado que las versiones de ciertas aplicaciones necesarias para el desarrollo web hayan aumentado considerablemente a lo largo de estos años.

Entre uno de los lenguajes más utilizados en el desarrollo web, nos encontramos con PHP, que desde que yo tengo conocimiento, ha vivido varios cambios de versión que afectaban completamente a la funcionalidad de las aplicaciones desarrolladas en según qué versión hubiera sido desarrollada.

Por esta razón, es importante poder disponer de distintas versiones instaladas en un servidor web, y por suerte, tenemos posibilidad de hacer que convivan estas tecnologías.

Instalación de nuevas versiones

Desde el año 2008, cuando comencé oficialmente mi vida profesional, trabajo con la empresa OVH.esDentro de esta empresa, además de contratar dominios, el servicio que más he renovado a lo largo de estos años ha sido el alquiler de un servidor propio autogestionado. He de decir que OVH no me paga nada por escribir estas palabras, pero yo estoy muy agradecido del servicio recibido a lo largo de estos años, tanto a nivel de productos y servicios contratados como a nivel de asistencia técnica siempre que lo he requerido.

Dicho esto, OVH permite la instalación de unas distribuciones de Linux que cuentan con una serie de servicios que facilitan el trabajo si deseas trabajar principalmente en el mundo del desarrollo web. Así que actualmente dispongo de varios servidores que utilizan OVH Release 3, una preinstalación basada en CentOS 6.10 que cuenta con un panel de control gratuito para la gestión de dominios dentro del propio servidor.

Esta distribución personalizada viene con la versión 5.3 de PHP preinstalada, sin embargo, PHP a día de hoy (21 de septiembre de 2018) se encuentra en la versión 7.2.10 estable. Muchos de los frameworks de PHP ya no permiten trabajar con versiones anteriores, así que he tenido que lograr tener distintas versiones instaladas en mis servidores, concretamente dispongo en la actualidad de cuatro: 5.3, 5.6, 7.0 y 7.2.

Para poder mantener todas ellas, los pasos que he tenido que realizar son los siguientes:

Paso 1 – Instalación vía YUM

Haciendo uso de Yum, en primer lugar realicé una búsqueda de paquetes mediante el siguiente comando:

sudo yum search php72

Tras esta búsqueda, instalé todo los paquetes correspondientes que necesitaba:

sudo yum install php72 php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache php72-php-pecl-xdebug

Paso 2 – Agregar Handler en la configuración del servidor httpd

Una vez está todo instalado, me dirigí al fichero de configuración de mi servidor Apache HTTP y agregué el handler. Para ello:

nano /etc/suphp.conf

Y agregué el siguiente bloque:

[handlers]
;Handler for php-scripts
x-httpd-php="php:/usr/bin/php-cgi"
x-httpd-php56="php:/usr/bin/php56-cgi"
x-httpd-php70="php:/usr/bin/php70-cgi"
x-httpd-php72="php:/usr/bin/php72-cgi"

Yo en particular solo agregué la última línea, el resto ya las tenía incluidas.

Paso 3 – Modificar el Handler en el vhost correspondiente

Tras la instalación y configuración correspondiente, di de alta el host virtual haciendo uso del panel Webmin y posteriormente me dirigí al directorio /etc/httpd/vhosts/ donde se encuentran los ficheros de configuración de cada dominio. Edité el del dominio actual con el editor “nano”:

nano jabenitez.com.conf

Y una vez dentro, busqué la zona en la que estaba escrito:

        suPHP_Engine on
        suPHP_AddHandler x-httpd-php
        suPHP_UserGroup jabenitez users
        AddHandler x-httpd-php .php

Y lo modifiqué de la siguiente forma:

        suPHP_Engine on
        suPHP_AddHandler x-httpd-php72
        suPHP_UserGroup jabenitez users
        AddHandler x-httpd-php72 .php

Reinicié el servidor mediante el comando /etc/init.d/httpd restart y listo :).

Espero que te haya servido este tutorial.

Y ya sabes, si lo ves útil, difunde :).