
📅 Publicado el 21 de agosto, 2026 · Por Equipo RedServicio

El desafío de convivir con varias versiones de PHP
Tener que gestionar múltiples versiones PHP en un mismo servidor es algo que termina pasando tarde o temprano. Suele ocurrir cuando toca actualizar la infraestructura o cuando migras esas aplicaciones «legacy» que tantos dolores de cabeza dan. Imagina la situación: tienes un WordPress moderno que necesita PHP 8.1 para ir fino, pero en el mismo servidor vive una aplicación crítica, desarrollada hace años, que solo se entiende con PHP 7.4. Si el servidor tuviera una única instalación global, te verías en un aprieto. Tendrías que elegir: romper el sitio antiguo o dejar de actualizar el nuevo.
En producción, este conflicto no es teórico. Causa errores fatales, temidas pantallas blancas y, peor aún, agujeros de seguridad. Por suerte, no estás solo en esto. Hay métodos robustos para que las versiones convivan sin riesgos. Vamos a ver las estrategias más efectivas para solucionar el problema, asegurando que cada sitio web use el intérprete que realmente necesita.
Método 1: PHP-FPM y configuración de VirtualHosts
La solución más estándar —y eficiente— en servidores Linux (como CentOS, AlmaLinux o Ubuntu) es PHP-FPM (FastCGI Process Manager). Este método te permite ejecutar diferentes versiones de PHP a la vez. Cada una escucha en un puerto o socket distinto. El servidor web (Apache o Nginx) actúa como un intermediario, enviando las solicitudes al intérprete correcto según la configuración del dominio.
Paso 1: Instalación de las versiones necesarias
Lo primero es asegurar que las versiones de PHP que necesitas estén instaladas en el sistema. Digamos que usas Debian/Ubuntu y necesitas PHP 7.4 y PHP 8.2:
sudo apt update
sudo apt install php7.4-fpm php8.2-fpm
Si estás en sistemas basados en Red Hat (RHEL, CentOS), es habitual usar el repositorio Remi. Te ahorra muchos quebraderos de cabeza con las dependencias al gestionar instalaciones múltiples.
Paso 2: Ajustar puertos o sockets
Cada instancia de PHP-FPM debe escuchar en una dirección única. Toca editar los archivos de configuración pool, que suelen estar en /etc/php/7.4/fpm/pool.d/www.conf y /etc/php/8.2/fpm/pool.d/www.conf.
Busca la directiva listen y asegúrate de que no coincidan:
- Para PHP 7.4:
listen = 127.0.0.1:9074 - Para PHP 8.2:
listen = 127.0.0.1:9082
Tras el cambio de puertos, reinicia los servicios:
sudo systemctl restart php7.4-fpm
sudo systemctl restart php8.2-fpm
Paso 3: Configuración del VirtualHost en Apache
En el archivo de configuración de tu sitio en Apache (/etc/apache2/sites-available/mi-sitio.conf), debes indicar qué «handler» o conjunto de archivos utilizar. Aquí tienes un ejemplo de cómo dejar el sitio configurado para usar PHP 8.2:
<VirtualHost *:80>
ServerName mi-sitio-moderno.com
DocumentRoot /var/www/mi-sitio-moderno
<Directory /var/www/mi-sitio-moderno>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Asignar PHP 8.2-FPM
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9082"
</FilesMatch>
</VirtualHost>
Para el sitio heredado, repetirías el proceso apuntando al puerto 9074. Así el conflicto se resuelve a nivel de servidor, aislando los entornos por completo.
Consejo Pro: No olvides activar los módulos necesarios en Apache si te decantas por este método: a2enmod proxy_fcgi y a2enmod setenvif.
Método 2: Cambiar la versión con .htaccess (para cPanel)
Si tu servidor usa un panel de control como cPanel (muy común en hosting compartido y VPS gestionados), es probable que no tengas acceso directo a los VirtualHosts. Sin embargo, la mayoría de los hosts modernos permiten cambiar la versión mediante el archivo .htaccess o con un selector gráfico en el panel.
Para forzar una versión específica usando .htaccess, puedes añadir esta línea al archivo que está en la raíz de tu sitio web:
AddHandler application/x-httpd-php82 .php
Con esto le dices a Apache que trate los archivos .php con la versión 8.2 del handler disponible en el sistema. Es la forma más rápida de arreglar el problema sin reiniciar servicios, aunque depende de que tu proveedor de hosting tenga instaladas esas versiones.
¿Cómo sé qué versiones tengo disponibles?
Puedes ejecutar en la terminal el comando ls /usr/bin/php* o revisar el selector de versiones en tu panel de control. En RedServicio ponemos a tu disposición un rango amplio de versiones para garantizar la compatibilidad de tus aplicaciones.
Método 3: Contenedores Docker (Aislamiento total)
Para los desarrolladores que buscan la máxima flexibilidad y aislamiento, Docker es la respuesta definitiva. En lugar de instalar múltiples versiones de PHP en el sistema operativo anfitrión (lo cual puede ensuciar el sistema), creas contenedores ligeros para cada proyecto.
Un archivo docker-compose.yml básico para un sitio con PHP 8.1 se vería así:
version: '3'
services:
web:
image: php:8.1-apache
ports:
- "8081:80"
volumes:
- ./mi-proyecto:/var/www/html
Para otro proyecto que requiera PHP 7.4, simplemente cambia la imagen a php:7.4-apache y mapea un puerto distinto (por ejemplo, 8082). Así el conflicto es inexistente, porque cada entorno tiene su propio sistema de archivos y bibliotecas. Aunque este método es más complejo de mantener si no eres técnico, es el estándar en el desarrollo moderno y en despliegues en la nube.
Buenas prácticas y recomendaciones finales
Da igual el método que elijas para gestionar múltiples versiones PHP; la estabilidad de tu servidor debe ser la prioridad. Aquí tienes algunas recomendaciones prácticas:
- Prueba en staging: Nunca cambies la versión de PHP en un sitio en producción sin probar antes. Un cambio menor (como de 7.4 a 8.0) puede eliminar funciones obsoletas y romper el código.
- Monitoreo de errores: Revisa los logs de error (
/var/log/apache2/error.logo los de PHP-FPM) justo después de hacer el cambio para detectar advertencias de deprecación. - Actualiza tu código: La mejor solución a largo plazo es poner al día el código de las aplicaciones antiguas para que sean compatibles con las versiones más recientes y seguras de PHP.
- Soporte experto: Si te sientes abrumado con la configuración de servidores, recuerda que un buen proveedor de hosting puede gestionar esto por ti.
Configurar un servidor para que ejecute diferentes intérpretes no es una tarea trivial, pero es necesaria para el crecimiento digital. En RedServicio entendemos estas complejidades y ofrecemos planes de hosting de calidad con soporte técnico 24/7, listos para ayudarte a implementar la configuración ideal para tus proyectos.
Para cerrar
El conflicto entre múltiples versiones PHP es un obstáculo técnico, pero se puede superar con las herramientas adecuadas. Ya sea usando la potencia de PHP-FPM y VirtualHosts en un servidor dedicado, la comodidad de los archivos .htaccess en un entorno gestionado, o la robustez de Docker para desarrollos complejos, la solución existe. La clave está en entender la arquitectura de tu servidor y elegir el método que mejor se adapte a tus habilidades y necesidades operativas. Mantener tus aplicaciones actualizadas y aisladas garantiza no solo que funcionen bien, sino también la seguridad de los datos de tus usuarios.
Equipo RedServicio
Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.
¿Listo para un hosting de verdad?
Servidores en España · Soporte 24/7 en español · Migración gratuita
Ver Planes desde 3,95€/mes →