desarrollo

Cómo usar diferentes versiones de PHP en dominios adicionales y subdominios (cPanel)

Si gestionas varios proyectos en un mismo hosting con cPanel, probablemente te has encontrado con este problema: la versión de PHP que configures en tu cuenta se aplica a todos los dominios y subdominios. Esto es un inconveniente si, por ejemplo, tienes un desarrollo que necesita PHP 7.4 y, al mismo tiempo, un WordPress que requiere PHP 8.3.

En este artículo te explicamos cómo configurar versiones de PHP distintas para cada dominio o subdominio usando el archivo .htaccess, sin que tengas que cambiar la configuración global de tu cuenta.

Por qué necesitas versiones distintas de PHP

  • Compatibilidad: algunos proyectos no soportan las versiones más recientes de PHP.
  • Seguridad: mantener la versión adecuada evita vulnerabilidades.
  • Rendimiento: las versiones modernas de PHP suelen ser más rápidas y eficientes.
  • Entornos de desarrollo: puede que necesites reproducir el entorno de un cliente que usa una versión concreta.

Método rápido: configurar PHP desde htaccess

El archivo .htaccess permite indicar al servidor qué versión de PHP debe usar en una carpeta concreta. Esto significa que cada dominio adicional o subdominio puede ejecutar una versión distinta.

Accede al Administrador de archivos

  1. Entra a tu cPanel.
  2. Abre Administrador de Archivos.
  3. Navega hasta la carpeta raíz del dominio o subdominio que quieres configurar.
  4. En la parte superior derecha, haz clic en Configuración y activa Mostrar archivos ocultos (dotfiles).

Edita o crea el archivo htaccess

  • Si el archivo existe, selecciónalo y pulsa Editar.
  • Si no existe, crea uno nuevo con el nombre htaccess.

Añade el handler de la versión de PHP

Al final del archivo htaccess, añade una sola de las siguientes líneas, dependiendo de la versión que necesites. El formato exacto puede variar según el hosting, pero en la mayoría de servidores cPanel funciona así:

# PHP 5.6
AddHandler application/x-httpd-php56 .php .php5

# PHP 7.3
AddHandler application/x-httpd-php73 .php .php5

# PHP 7.4
<IfModule mime_module>
    AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>

# PHP 8.0
<IfModule mime_module>
    AddHandler application/x-httpd-ea-php80 .php .php8 .phtml
</IfModule>

# PHP 8.1
<IfModule mime_module>
    AddHandler application/x-httpd-ea-php81 .php .php8 .phtml
</IfModule>

# PHP 8.2
<IfModule mime_module>
    AddHandler application/x-httpd-ea-php82 .php .php8 .phtml
</IfModule>

# PHP 8.3
<IfModule mime_module>
    AddHandler application/x-httpd-ea-php83 .php .php8 .phtml
</IfModule>

Consejo: utiliza siempre la versión más reciente compatible con tu proyecto para ganar en rendimiento y seguridad.

Guarda y verifica la versión

  1. Crea un archivo llamado phpinfo.php en la raíz del dominio/subdominio con este contenido: phpCopiarEditar<?php phpinfo();
  2. Accede desde el navegador (https://tudominio.com/phpinfo.php) y comprueba la versión activa.
  3. Elimina este archivo una vez verificado, por seguridad.

Errores comunes y cómo resolverlos

  • 500 Internal Server Error: probablemente el handler no es compatible. Prueba otra sintaxis (x-httpd-php en lugar de ea-php).
  • La versión no cambia: revisa que has editado el .htaccess correcto (el de la raíz del dominio o subdominio).
  • Conflictos con WordPress u otros CMS: coloca las líneas del handler al final del .htaccess para no sobrescribir otras reglas.

Alternativa: MultiPHP Manager

Si tu hosting lo permite, en cPanel → MultiPHP Manager podrás asignar la versión de PHP a cada dominio o subdominio sin tocar .htaccess. Es más sencillo y seguro, pero no todos los proveedores lo tienen activado.

Buenas prácticas

  • Mantén una única línea de configuración de PHP por archivo .htaccess.
  • Comprueba siempre compatibilidad de plugins y temas antes de cambiar de versión.
  • Haz una copia de seguridad del .htaccess antes de editarlo.
  • Purga cachés del servidor o CMS tras el cambio para evitar falsos positivos.

Asignar versiones distintas de PHP a cada dominio o subdominio es sencillo y evita incompatibilidades. Con unos pocos ajustes en .htaccess podrás mantener cada proyecto en la versión que realmente necesita, sin comprometer a los demás.