Cambiar versión de PHP con .htaccess en cPanel: guía completa
Los servidores de Nicalia permiten asignar la versión de PHP de cada dominio directamente desde cPanel, pero hay situaciones en las que es más conveniente hacerlo a través del archivo .htaccess: cuando necesitas que un subdirectorio concreto use una versión diferente a la del dominio principal, cuando trabajas con herramientas de despliegue que sobrescriben la configuración de cPanel, o cuando necesitas que el cambio sea parte del propio repositorio del proyecto.
Esta guía explica cómo verificar la versión activa, cómo cambiarla mediante el .htaccess tanto para los handlers de EA-PHP como para los de CloudLinux (alt-PHP), y cómo confirmar que el cambio ha surtido efecto.
Si prefieres cambiar la versión de PHP desde la interfaz de cPanel sin tocar archivos, consulta las guías cómo elegir la versión de PHP en cPanel o cómo elegir la versión de PHP de CloudLinux.
Paso 1 — Verificar la versión de PHP actual
Antes de hacer el cambio, es útil saber qué versión está usando el dominio en este momento para poder comparar después. Crea un archivo llamado info.php en la raíz del dominio (por FTP o desde el Administrador de Archivos de cPanel) con el siguiente contenido:

<?php
phpinfo();
?>
Guarda el archivo y accede desde el navegador a https://tudominio.com/info.php. Se mostrará una página con información detallada de PHP, donde la versión aparece en la primera línea:

⚠️ Importante: elimina el archivo info.php del servidor en cuanto hayas anotado la versión. Este archivo expone información técnica sensible del servidor (versión de PHP, extensiones activas, configuración) y no debe quedar accesible públicamente.
Tabla de referencia: handlers PHP disponibles en Nicalia
Los servidores de Nicalia utilizan dos conjuntos de handlers PHP: los de EasyApache (EA-PHP), gestionados por cPanel/WHM, y los de CloudLinux (alt-PHP), que son las versiones alternativas disponibles en el selector de CloudLinux. En el .htaccess se usa un prefijo diferente para cada uno:
| Versión PHP | Handler EA-PHP | Handler CloudLinux (alt-PHP) |
|---|---|---|
| PHP 7.4 | x-httpd-ea-php74 |
x-httpd-alt-php74 |
| PHP 8.0 | x-httpd-ea-php80 |
x-httpd-alt-php80 |
| PHP 8.1 | x-httpd-ea-php81 |
x-httpd-alt-php81 |
| PHP 8.2 | x-httpd-ea-php82 |
x-httpd-alt-php82 |
| PHP 8.3 | x-httpd-ea-php83 |
x-httpd-alt-php83 |
Si no sabes cuál usar, consulta desde cPanel qué versiones tiene disponibles tu servidor en Software → Selector de PHP de MultiPHP (EA-PHP) o en Software → Selector PHP de CloudLinux.
Paso 2 — Editar el .htaccess para asignar la versión PHP
Crea o edita el archivo .htaccess en el directorio donde quieres aplicar la versión (normalmente la raíz del dominio, public_html) y añade el siguiente bloque. Adapta el número de versión al que necesites:
Handlers EA-PHP (EasyApache)
Para PHP 8.1:
<IfModule mime_module>
AddHandler application/x-httpd-ea-php81 .php .php8 .phtml
</IfModule>
Para PHP 7.4:
<IfModule mime_module>
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
Handlers CloudLinux (alt-PHP)
Para PHP 8.1 de CloudLinux:
<IfModule mime_module>
AddHandler application/x-httpd-alt-php81 .php .php8 .phtml
</IfModule>
Para PHP 7.4 de CloudLinux:
<IfModule mime_module>
AddHandler application/x-httpd-alt-php74 .php .php7 .phtml
</IfModule>
El patrón es siempre el mismo: sustituye el número (74, 80, 81, 82, 83…) por la versión que necesitas, y elige el prefijo ea o alt según el conjunto de handlers que quieras usar.
Aplicar una versión PHP diferente a un subdirectorio
Una de las ventajas de este método frente al selector de cPanel es que puedes asignar versiones distintas de PHP a diferentes directorios del mismo dominio. Por ejemplo, si tienes una instalación principal en PHP 8.2 pero una aplicación legacy en /public_html/app-antigua/ que requiere PHP 7.4, basta con colocar un .htaccess con el handler de PHP 7.4 dentro de ese subdirectorio:
<IfModule mime_module>
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
El .htaccess del subdirectorio sobreescribe la configuración del directorio padre para todo lo que esté dentro de esa carpeta.
Paso 3 — Verificar que el cambio ha surtido efecto
Vuelve a acceder a https://tudominio.com/info.php (si no lo has eliminado todavía) y comprueba que la versión en la primera línea ha cambiado a la que especificaste en el .htaccess.
Si la versión no ha cambiado:
- Verifica que el handler indicado en el .htaccess está disponible en tu servidor (no todas las versiones están habilitadas en todos los planes).
- Comprueba que no hay un error de sintaxis en el .htaccess que impida que Apache lo procese correctamente.
- En algunos casos es necesario esperar unos segundos o forzar la recarga del servidor de aplicaciones.
⚠️ Recuerda eliminar el archivo info.php después de la verificación.
Errores frecuentes al cambiar la versión PHP por .htaccess
Error 500 tras añadir el bloque al .htaccess
El handler indicado no existe en el servidor o hay un error de sintaxis en el .htaccess. Comprueba que has escrito correctamente el nombre del handler (incluyendo el número de versión sin separador, por ejemplo php81 no php8.1). Si el error persiste, elimina el bloque que acabas de añadir para restaurar el funcionamiento y verifica desde cPanel qué versiones de PHP están disponibles en tu cuenta.
La versión PHP no cambia aunque el .htaccess está bien
Dos causas posibles: (1) el servidor está usando un handler diferente al que has especificado — si el servidor está configurado para usar FastCGI o suPHP en lugar de mod_php, el método AddHandler no funciona de la misma forma; (2) hay un .htaccess en un directorio padre que sobreescribe el tuyo. En estos casos, el método más fiable para cambiar la versión PHP es usar el selector de PHP de cPanel.
El bloque .htaccess provoca que los archivos PHP se descarguen en lugar de ejecutarse
El handler especificado es incorrecto o no está registrado en el servidor. El servidor no sabe cómo procesar ese tipo de archivo y lo sirve como descarga. Verifica el nombre exacto del handler disponible en tu servidor desde cPanel → Software → Selector MultiPHP.
¿Cómo sé qué handlers están disponibles en mi servidor?
Desde cPanel → Software → Selector MultiPHP puedes ver las versiones de EA-PHP disponibles. Desde cPanel → Software → Selector PHP de CloudLinux verás las versiones alt-PHP. Solo puedes usar en el .htaccess los handlers de versiones que aparezcan en esos listados.
Preguntas frecuentes
¿Cuál es la diferencia entre cambiar PHP por .htaccess y hacerlo desde cPanel?
Desde cPanel el cambio se aplica a todo el dominio de forma centralizada y es la opción más sencilla. El método .htaccess permite una granularidad mayor: puedes asignar versiones distintas a diferentes subdirectorios del mismo dominio, y el cambio viaja con los archivos del proyecto (útil en entornos con control de versiones o despliegues automáticos).
¿Puedo usar versiones de PHP antiguas como 5.6 o 7.0 con este método?
Solo si esas versiones están habilitadas en el servidor. Las versiones antiguas de PHP tienen fin de soporte oficial y los proveedores de hosting las van retirando progresivamente. Si no aparecen en el selector de cPanel, no están disponibles en tu cuenta.
¿El cambio de versión PHP por .htaccess afecta al rendimiento?
No hay diferencia de rendimiento entre cambiar la versión por .htaccess o desde cPanel — en ambos casos se ejecuta el mismo handler PHP. La diferencia es solo de método de configuración.
¿El archivo .htaccess con el handler PHP debe estar en la raíz del dominio o junto al wp-config.php de WordPress?
En la misma ubicación que el wp-config.php, que normalmente coincide con la raíz del dominio (public_html). Si WordPress está instalado en un subdirectorio, el .htaccess con el handler debe estar en ese subdirectorio. WordPress ya tiene su propio .htaccess para los permalinks — simplemente añade el bloque IfModule mime_module al principio de ese archivo, antes de las reglas existentes.
¿Puedo combinar el cambio de PHP por .htaccess con la configuración de php.ini?
Sí. Puedes tener en el mismo directorio un .htaccess que asigne la versión PHP y un archivo php.ini (o .user.ini en servidores con FastCGI) que personalice los parámetros de esa versión. Las dos configuraciones son independientes y complementarias. Consulta la guía cómo modificar los valores de PHP para más detalles.
