Usar diferentes versiones de PHP en un mismo sitio o plan de hosting

Usar diferentes versiones de PHP en un mismo sitio o plan de hosting

Muchas veces, en consultoría o trabajo freelance, me ha tocado renegar con proyectos que están programados en versiones de PHP antiguas, y donde los planes de hosting en donde se alojan van actualizando la versión de PHP.

Claramente, por presión tecnológica (rendimiento y seguridad), las empresas de web hosting deben ir modernizando el software, pero es ahí donde algunos de esos proyectos siguen siendo centrales en algunos negocios, y el costo/esfuerzo de modernizarlos no permite hacerlo o no a la velocidad que ha avanzado PHP en estos últimos años.

La mascota de PHP es un elefante celeste/violeta.

Un poco de Contexto sobre las versiones de PHP

PHP se lanzó en 2005, puedes ver la historia completa en Wikipedia y miles de sitios. Estas son algunas de las versiones más recientes. La 5.6 fue la más usada por dos razones: uso extendido y tiempo que pasó hasta salir la siguiente.

Se lee en muchos foros y blogs que la discusión en PHP 6 fue como encarar algunas cuestiones de caracteres Unicode, pero en otros lugares se ven debates fuertes de contenido altamente técnico sobre escalabilidad, deuda técnica crónica, simplificación de código, solicitudes de la comunidad, etc. Se atrasó tanto esa versión entre debate y reescritura que se pasó directo a la versión 7.0

Esta versión fue de transición, si vemos, la fecha de fin de soporte de la versión 5.6 y la 7.0 es en el mismo año, con diferencia de meses. El plan es que se usara la versión 7 para actualizar código, estabilizar el nuevo rumbo y se fueran haciendo cambios aceleradamente. Luego llegó la serie de muchas actualizaciones «menores» (que algunas fueron menores, pero con mucho impacto positivo, sobre todo en rendimiento y funcionalidad) hasta la major 8.x que hoy está vigente.

En la actualidad la versión 7.4 ya se considera deprecada, inmantenida, pero es de las más utilizadas, como en su momento 5.6; aunque esto por algunos expertos «es un mal menor, en cambio las versiones menores a 7.4, todo lo anterior, ya es tremendamente inseguro, inescalable, obsoleto, anticuado y debería ser destruido».

¿Cómo cambiar la versión PHP en tu web hosting o servidor?

Depende del plan, empresa de hosting y módulos configurados, es posible que tengas más flexibilidad u opciones similares a estas.

No son funcionalidades nativas y estandarizadas, hay casos donde no se admite o permite el cambio de versión, consulta a tu hosting favorito como hacerlo.

En WNPower, por ejemplo, es posible hacerlo fácil y rápido desde el mismo cPanel:

Esto agrega el siguiente código en el archivo .htaccess

También en el blog de FastComet, otro de mis web hosting favoritos, explican como configurar también estos «manejadores» que aplican diferentes versiones de PHP de acuerdo a lo puesto en el directorio, y eso aplica en herencia. Así puedes tener por ejemplo la carpeta «core» de tu desarrollo con código Legacy en PHP 7.4 y otra parte o módulo en la carpeta «utils» o la que sea con una versión PHP 8.x

Esto va permitiendo que se vaya migrando y modernizando un sistema de forma segura, por etapas, e incluso dar soporte a versiones como 5.6 en zonas muy puntuales que puedas necesitar y otras versiones de PHP más modernas en el resto, por default.