{"id":6191,"date":"2024-04-26T12:11:13","date_gmt":"2024-04-26T10:11:13","guid":{"rendered":"https:\/\/www.nicalia.com\/nicapedia\/guias\/cpanel\/como-asignar-versiones-php-a-traves-del-archivo-htaccess\/"},"modified":"2026-06-01T16:29:57","modified_gmt":"2026-06-01T14:29:57","slug":"como-asignar-versiones-php-a-traves-del-archivo-htaccess","status":"publish","type":"docs","link":"https:\/\/www.nicalia.com\/nicapedia\/como-asignar-versiones-php-a-traves-del-archivo-htaccess\/","title":{"rendered":"Cambiar versi\u00f3n de PHP con .htaccess en cPanel: gu\u00eda completa"},"content":{"rendered":"<p>Los servidores de Nicalia permiten asignar la versi\u00f3n de PHP de cada dominio directamente desde cPanel, pero hay situaciones en las que es m\u00e1s conveniente hacerlo a trav\u00e9s del <strong>archivo .htaccess<\/strong>: cuando necesitas que un <strong>subdirectorio concreto<\/strong> use una versi\u00f3n diferente a la del dominio principal, cuando trabajas con herramientas de despliegue que sobrescriben la configuraci\u00f3n de cPanel, o cuando necesitas que el cambio sea parte del propio repositorio del proyecto.<\/p>\n<p>Esta gu\u00eda explica c\u00f3mo verificar la versi\u00f3n activa, c\u00f3mo cambiarla mediante el .htaccess tanto para los handlers de EA-PHP como para los de CloudLinux (alt-PHP), y c\u00f3mo confirmar que el cambio ha surtido efecto.<\/p>\n<p>Si prefieres cambiar la versi\u00f3n de PHP desde la interfaz de cPanel sin tocar archivos, consulta las gu\u00edas <a href=\"https:\/\/www.nicalia.com\/nicapedia\/como-elegir-la-version-de-php\/\">c\u00f3mo elegir la versi\u00f3n de PHP en cPanel<\/a> o <a href=\"https:\/\/www.nicalia.com\/nicapedia\/como-elegir-la-version-de-php-de-cloudlinux\/\">c\u00f3mo elegir la versi\u00f3n de PHP de CloudLinux<\/a>.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: VERIFICAR VERSI\u00d3N ACTUAL\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Paso 1 \u2014 Verificar la versi\u00f3n de PHP actual<\/h2>\n<p>Antes de hacer el cambio, es \u00fatil saber qu\u00e9 versi\u00f3n est\u00e1 usando el dominio en este momento para poder comparar despu\u00e9s. Crea un archivo llamado <code>info.php<\/code> en la ra\u00edz del dominio (por FTP o desde el <a href=\"https:\/\/www.nicalia.com\/nicapedia\/acceder-al-administrador-de-archivos\/\">Administrador de Archivos de cPanel<\/a>) con el siguiente contenido:<\/p>\n<p><!-- Imagen original conservada con alt text --><\/p>\n<figure class=\"wp-block-image size-full\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.nicalia.com\/nicapedia\/wp-content\/uploads\/2024\/06\/B6BC7QC8g4-1024x378.png\"\n       alt=\"Archivo info.php abierto en el editor de cPanel con el c\u00f3digo phpinfo() para mostrar la versi\u00f3n de PHP activa\"\n       width=\"1024\" height=\"378\"\/><br \/>\n<\/figure>\n<pre><code>&lt;?php\nphpinfo();\n?&gt;<\/code><\/pre>\n<p>Guarda el archivo y accede desde el navegador a <code>https:\/\/tudominio.com\/info.php<\/code>. Se mostrar\u00e1 una p\u00e1gina con informaci\u00f3n detallada de PHP, donde la versi\u00f3n aparece en la primera l\u00ednea:<\/p>\n<p><!-- Imagen original conservada con alt text --><\/p>\n<figure class=\"wp-block-image size-full\">\n  <img decoding=\"async\" src=\"https:\/\/www.nicalia.com\/nicapedia\/wp-content\/uploads\/2024\/06\/fjCZ4Tyfrl-1024x127.png\"\n       alt=\"Resultado de phpinfo() en el navegador mostrando la versi\u00f3n de PHP instalada en el servidor\"\n       width=\"1024\" height=\"127\"\/><br \/>\n<\/figure>\n<p>\u26a0\ufe0f <strong>Importante: elimina el archivo info.php del servidor en cuanto hayas anotado la versi\u00f3n.<\/strong> Este archivo expone informaci\u00f3n t\u00e9cnica sensible del servidor (versi\u00f3n de PHP, extensiones activas, configuraci\u00f3n) y no debe quedar accesible p\u00fablicamente.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: TABLA DE REFERENCIA\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Tabla de referencia: handlers PHP disponibles en Nicalia<\/h2>\n<p>Los servidores de Nicalia utilizan dos conjuntos de handlers PHP: los de <strong>EasyApache (EA-PHP)<\/strong>, gestionados por cPanel\/WHM, y los de <strong>CloudLinux (alt-PHP)<\/strong>, que son las versiones alternativas disponibles en el selector de CloudLinux. En el .htaccess se usa un prefijo diferente para cada uno:<\/p>\n<table>\n<thead>\n<tr>\n<th>Versi\u00f3n PHP<\/th>\n<th>Handler EA-PHP<\/th>\n<th>Handler CloudLinux (alt-PHP)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>PHP 7.4<\/td>\n<td><code>x-httpd-ea-php74<\/code><\/td>\n<td><code>x-httpd-alt-php74<\/code><\/td>\n<\/tr>\n<tr>\n<td>PHP 8.0<\/td>\n<td><code>x-httpd-ea-php80<\/code><\/td>\n<td><code>x-httpd-alt-php80<\/code><\/td>\n<\/tr>\n<tr>\n<td>PHP 8.1<\/td>\n<td><code>x-httpd-ea-php81<\/code><\/td>\n<td><code>x-httpd-alt-php81<\/code><\/td>\n<\/tr>\n<tr>\n<td>PHP 8.2<\/td>\n<td><code>x-httpd-ea-php82<\/code><\/td>\n<td><code>x-httpd-alt-php82<\/code><\/td>\n<\/tr>\n<tr>\n<td>PHP 8.3<\/td>\n<td><code>x-httpd-ea-php83<\/code><\/td>\n<td><code>x-httpd-alt-php83<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Si no sabes cu\u00e1l usar, consulta desde cPanel qu\u00e9 versiones tiene disponibles tu servidor en <em>Software \u2192 Selector de PHP de MultiPHP<\/em> (EA-PHP) o en <em>Software \u2192 Selector PHP de CloudLinux<\/em>.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: EDITAR HTACCESS \u2014 EA-PHP\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Paso 2 \u2014 Editar el .htaccess para asignar la versi\u00f3n PHP<\/h2>\n<p>Crea o edita el archivo <code>.htaccess<\/code> en el directorio donde quieres aplicar la versi\u00f3n (normalmente la ra\u00edz del dominio, <code>public_html<\/code>) y a\u00f1ade el siguiente bloque. Adapta el n\u00famero de versi\u00f3n al que necesites:<\/p>\n<h3>Handlers EA-PHP (EasyApache)<\/h3>\n<p>Para PHP 8.1:<\/p>\n<pre><code>&lt;IfModule mime_module&gt;\n  AddHandler application\/x-httpd-ea-php81 .php .php8 .phtml\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>Para PHP 7.4:<\/p>\n<pre><code>&lt;IfModule mime_module&gt;\n  AddHandler application\/x-httpd-ea-php74 .php .php7 .phtml\n&lt;\/IfModule&gt;<\/code><\/pre>\n<h3>Handlers CloudLinux (alt-PHP)<\/h3>\n<p>Para PHP 8.1 de CloudLinux:<\/p>\n<pre><code>&lt;IfModule mime_module&gt;\n  AddHandler application\/x-httpd-alt-php81 .php .php8 .phtml\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>Para PHP 7.4 de CloudLinux:<\/p>\n<pre><code>&lt;IfModule mime_module&gt;\n  AddHandler application\/x-httpd-alt-php74 .php .php7 .phtml\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>El patr\u00f3n es siempre el mismo: sustituye el n\u00famero (<code>74<\/code>, <code>80<\/code>, <code>81<\/code>, <code>82<\/code>, <code>83<\/code>\u2026) por la versi\u00f3n que necesitas, y elige el prefijo <code>ea<\/code> o <code>alt<\/code> seg\u00fan el conjunto de handlers que quieras usar.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: APLICAR A SUBDIRECTORIO\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Aplicar una versi\u00f3n PHP diferente a un subdirectorio<\/h2>\n<p>Una de las ventajas de este m\u00e9todo 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\u00f3n principal en PHP 8.2 pero una aplicaci\u00f3n legacy en <code>\/public_html\/app-antigua\/<\/code> que requiere PHP 7.4, basta con colocar un <code>.htaccess<\/code> con el handler de PHP 7.4 dentro de ese subdirectorio:<\/p>\n<pre><code>&lt;IfModule mime_module&gt;\n  AddHandler application\/x-httpd-ea-php74 .php .php7 .phtml\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>El .htaccess del subdirectorio sobreescribe la configuraci\u00f3n del directorio padre para todo lo que est\u00e9 dentro de esa carpeta.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: VERIFICAR EL CAMBIO\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Paso 3 \u2014 Verificar que el cambio ha surtido efecto<\/h2>\n<p>Vuelve a acceder a <code>https:\/\/tudominio.com\/info.php<\/code> (si no lo has eliminado todav\u00eda) y comprueba que la versi\u00f3n en la primera l\u00ednea ha cambiado a la que especificaste en el .htaccess.<\/p>\n<p>Si la versi\u00f3n no ha cambiado:<\/p>\n<ul>\n<li>Verifica que el handler indicado en el .htaccess est\u00e1 disponible en tu servidor (no todas las versiones est\u00e1n habilitadas en todos los planes).<\/li>\n<li>Comprueba que no hay un error de sintaxis en el .htaccess que impida que Apache lo procese correctamente.<\/li>\n<li>En algunos casos es necesario esperar unos segundos o forzar la recarga del servidor de aplicaciones.<\/li>\n<\/ul>\n<p>\u26a0\ufe0f <strong>Recuerda eliminar el archivo <code>info.php<\/code> despu\u00e9s de la verificaci\u00f3n.<\/strong><\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: ERRORES COMUNES\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Errores frecuentes al cambiar la versi\u00f3n PHP por .htaccess<\/h2>\n<h3>Error 500 tras a\u00f1adir el bloque al .htaccess<\/h3>\n<p>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\u00famero de versi\u00f3n sin separador, por ejemplo <code>php81<\/code> no <code>php8.1<\/code>). Si el error persiste, elimina el bloque que acabas de a\u00f1adir para restaurar el funcionamiento y verifica desde cPanel qu\u00e9 versiones de PHP est\u00e1n disponibles en tu cuenta.<\/p>\n<h3>La versi\u00f3n PHP no cambia aunque el .htaccess est\u00e1 bien<\/h3>\n<p>Dos causas posibles: (1) el servidor est\u00e1 usando un handler diferente al que has especificado \u2014 si el servidor est\u00e1 configurado para usar FastCGI o suPHP en lugar de mod_php, el m\u00e9todo <code>AddHandler<\/code> no funciona de la misma forma; (2) hay un <code>.htaccess<\/code> en un directorio padre que sobreescribe el tuyo. En estos casos, el m\u00e9todo m\u00e1s fiable para cambiar la versi\u00f3n PHP es usar el <a href=\"https:\/\/www.nicalia.com\/nicapedia\/como-elegir-la-version-de-php\/\">selector de PHP de cPanel<\/a>.<\/p>\n<h3>El bloque .htaccess provoca que los archivos PHP se descarguen en lugar de ejecutarse<\/h3>\n<p>El handler especificado es incorrecto o no est\u00e1 registrado en el servidor. El servidor no sabe c\u00f3mo procesar ese tipo de archivo y lo sirve como descarga. Verifica el nombre exacto del handler disponible en tu servidor desde <em>cPanel \u2192 Software \u2192 Selector MultiPHP<\/em>.<\/p>\n<h3>\u00bfC\u00f3mo s\u00e9 qu\u00e9 handlers est\u00e1n disponibles en mi servidor?<\/h3>\n<p>Desde <em>cPanel \u2192 Software \u2192 Selector MultiPHP<\/em> puedes ver las versiones de EA-PHP disponibles. Desde <em>cPanel \u2192 Software \u2192 Selector PHP de CloudLinux<\/em> ver\u00e1s las versiones alt-PHP. Solo puedes usar en el .htaccess los handlers de versiones que aparezcan en esos listados.<\/p>\n<p><!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     H2: FAQ\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 --><\/p>\n<h2>Preguntas frecuentes<\/h2>\n<h3>\u00bfCu\u00e1l es la diferencia entre cambiar PHP por .htaccess y hacerlo desde cPanel?<\/h3>\n<p>Desde cPanel el cambio se aplica a todo el dominio de forma centralizada y es la opci\u00f3n m\u00e1s sencilla. El m\u00e9todo .htaccess permite una granularidad mayor: puedes asignar versiones distintas a diferentes subdirectorios del mismo dominio, y el cambio viaja con los archivos del proyecto (\u00fatil en entornos con control de versiones o despliegues autom\u00e1ticos).<\/p>\n<h3>\u00bfPuedo usar versiones de PHP antiguas como 5.6 o 7.0 con este m\u00e9todo?<\/h3>\n<p>Solo si esas versiones est\u00e1n 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\u00e1n disponibles en tu cuenta.<\/p>\n<h3>\u00bfEl cambio de versi\u00f3n PHP por .htaccess afecta al rendimiento?<\/h3>\n<p>No hay diferencia de rendimiento entre cambiar la versi\u00f3n por .htaccess o desde cPanel \u2014 en ambos casos se ejecuta el mismo handler PHP. La diferencia es solo de m\u00e9todo de configuraci\u00f3n.<\/p>\n<h3>\u00bfEl archivo .htaccess con el handler PHP debe estar en la ra\u00edz del dominio o junto al wp-config.php de WordPress?<\/h3>\n<p>En la misma ubicaci\u00f3n que el <code>wp-config.php<\/code>, que normalmente coincide con la ra\u00edz del dominio (<code>public_html<\/code>). Si WordPress est\u00e1 instalado en un subdirectorio, el .htaccess con el handler debe estar en ese subdirectorio. WordPress ya tiene su propio .htaccess para los permalinks \u2014 simplemente a\u00f1ade el bloque <code>IfModule mime_module<\/code> al principio de ese archivo, antes de las reglas existentes.<\/p>\n<h3>\u00bfPuedo combinar el cambio de PHP por .htaccess con la configuraci\u00f3n de php.ini?<\/h3>\n<p>S\u00ed. Puedes tener en el mismo directorio un .htaccess que asigne la versi\u00f3n PHP y un archivo <code>php.ini<\/code> (o <code>.user.ini<\/code> en servidores con FastCGI) que personalice los par\u00e1metros de esa versi\u00f3n. Las dos configuraciones son independientes y complementarias. Consulta la gu\u00eda <a href=\"https:\/\/www.nicalia.com\/nicapedia\/como-modificar-el-php-ini\/\">c\u00f3mo modificar los valores de PHP<\/a> para m\u00e1s detalles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los servidores de Nicalia permiten asignar la versi\u00f3n de PHP de cada dominio directamente desde cPanel, pero hay situaciones en las que es m\u00e1s conveniente hacerlo a trav\u00e9s del archivo .htaccess: cuando necesitas que un subdirectorio concreto use una versi\u00f3n diferente a la del dominio principal, cuando trabajas con herramientas de despliegue que sobrescriben la [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":8656,"menu_order":62,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-6191","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/4471485c4e49f46218d6b6d125f80f4cde1f86f045fd896202eefddaf4d4510a?s=96&d=mm&r=g","author_name":"Francisco Garvi","_links":{"self":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/6191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/comments?post=6191"}],"version-history":[{"count":6,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/6191\/revisions"}],"predecessor-version":[{"id":10005,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/6191\/revisions\/10005"}],"up":[{"embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/docs\/8656"}],"wp:attachment":[{"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/media?parent=6191"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_tag?post=6191"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/www.nicalia.com\/nicapedia\/wp-json\/wp\/v2\/doc_badge?post=6191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}