Como remover cPanel generated handler php del archivo .htaccess

Como remover handler php systemjosmar

Si has llegado hasta acá seguramente tienes un error en tu web o en un subdominio de la misma, en la que no puedes observarla y en el panel de administración de wordpress te aparece un mensaje que dice “Tu sitio tiene problemas técnicos. Mira si han llegado instrucciones a la bandeja de correo electrónico del administrador del sitio”.

En ese momentos piensas “que pasó?” si todo marchaba bien. Mas sorpresa te causa cuando vas a la bandeja de tu correo electrónico y comienzas a leer el mensaje generado por Wordpress (A partir de la versión 5.2) en donde te indica que si no puedes ingresar de manera regular, lo intentes a través del modo de recuperación especial. Esto no es mas que un link, que te permite acceder de forma segura a tu administrador de Wordpress, para que puedas evaluar lo que esta sucediendo en tu web.

Hasta este punto, sigues sin respuestas concretas, pero la sorpresa te la llevas cuando al entrar al escritorio de wordpress, a través del link que te mencioné, te dice que algunos plugins han dejado de funcionar porque la versión de php no es la adecuada. Algunos plugins te indican incluso la versión de php minima para funcionar (En mi caso particular, sugeria php 7.0 o superior). En ese momento vas a tu cpanel y revisas el selector de versiones de php y ves que lo tienes configurado en una versión igual o superior a la version 7 (php 7.0 o superior) . Y es aquí donde comienza lo bueno del asunto…

Comienzas a pensar que hackeron tu sitio, que algún malware se apodero del mismo, que vas a tener que trabajar arduo para recuperarlo, etc. Si tienes conocimiento de programación lo primero que realizas antes de llamar al servicio técnico del hosting es subir un archivo info.php, para corroborar eso de la versión de php, y te das cuenta que no solo es diferente, sino que es inferior a la que seleccionaste en el cpanel. Y entonces allí sí, a llamar al servicio técnico o en su defecto abrir un ticket.

En muchos casos pueden tardar en encontrar el error y si lo encuentran de manera rápida y efectiva (Es probable que tu, lo hayas encontrado antes) te dicen que el error se debe a que en el .htaccess hay un código que suplanta la versión de php original. Perfecto, te vas directo al código:

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php56” package as the default “PHP” programming language.
<IfModule mime_module>
    AddType application/x-httpd-ea-php56 .php .php5 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

Y lo borras. Cuando recargas tu web ves que funciona normal y ¡ufffff! que alivio. Pero al día siguiente al tratar de entrar a la web o al revisar tu bandeja de correo electrónico, otra vez el mismo mensaje. Las mismas instrucciones para que revises tu web porque hay un problema. Para tu sorpresa, el fallo es por las mismas razones: se ha autogenerado el mismo código. Inmediatamente y para no dañar tu reputación ni perder clientes repites el mismo proceso (borrar el código), pero desde entonces empieza tu periplo por encontrar una solución verdadera. Esta situación se puede repetir por largo tiempo, sin mas alternativa que eliminar el código antes mencionado y así sucesivamente…

Para no extenderme aun mas, ni prolongar tu agonía, vamos a publicar la solución y luego analizamos las posibles causas. Vamos a nuestro archivo .htaccess del subdominio y copiamos lo siguiente:

<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
SetHandler application/x-httpd-ea-php71-lsphp
</FilesMatch>

Ahora si por fin, con este código el dominio ó subdominio (como en mi caso), va a tomar la versión php del sistema, es decir, la del padre (Cpanel) y no se dejara influenciar por la posible versión de php que pueda manejar el dominio principal (versión hijo).

Para complementar aun mas la información y puedas entender (Si no eres desarrollador web) , cada dominio en el Cpanel esta instalado en carpetas diferentes, así el subdominio se encuentre en una subcarpeta del dominio. Por ende cada instalación de Wordpress posee .htaccess diferentes. En mi caso el código autogenerado se producía en el .htaccess del dominio principal afectando así el funcionamiento de el o los subdominios restantes.

Como saber si funciona?

Puedes pegar las líneas autogeneradas en el .htaccess del dominio principal, que es donde siempre aparece y veras como tu subdominio sigue activo. Así de fácil sabrás que si se autogenera el código en el dominio principal, tus subdominios no van a fallar. El citado Handler no afecta el funcionamiento del dominio principal, ya que este siempre toma la versión de php del sistema. Otra cosa que puedes probar y que no te va a quitar mucho tiempo es ir a http://tusubdominio.com/info.php previa carga de ese archivo en la raíz del subdominio. Acá te dejo el código:

<?php
phpinfo();
?>

Al acceder a esa ruta podrás ver la versión de php con la que estas trabajando

Causas

Después de investigar, investigar y volver a investigar en los foros de Cpanel sus administradores dicen que el error se debe a que el hosting debe actualizarse. Así de claro, sin embargo, ellos esgrimen y argumentan que están actualizados. Cuando vemos la frecuencia del error y en los casos que se produce la mayoría de los Cpanel de los usuarios a los que le ocurría el error poseían Multiphp para administrar diferentes versiones de php entre sus páginas internas, cosa que el Cpanel al que hago referencia no posee. Por lo que me tomo un buen rato conseguir la solución y espero que sea de total utilidad para ustedes.

2 comentarios en “Como remover cPanel generated handler php del archivo .htaccess

  1. Hola, muchas gracias por tu post, pero tengo una pregunta
    este tipo de script , el que tu mencionas

    # php — BEGIN cPanel-generated handler, do not edit
    # Set the “ea-php56” package as the default “PHP” programming language.

    AddType application/x-httpd-ea-php56 .php .php5 .phtml

    # php — END cPanel-generated handler, do not edit

    Hace que no puedas editar los index.html de la ccarpeta “public html?”
    Es que mi web no esta construida con WordPress, pero no se porque demonios no puedo editar los html y no consigo la solucion, te estaria agradecido si pudieses darme algun consejo, mil gracias

    1. Hola Junior, gusto en saludarte. El script que mencionas hace que la versión de php del dominio en el que estas trabajando sea php5.6, eso es lo único que hace. Pero si tu web esta configurada para trabajar con una versión de php superior, entra en conflicto y no trabaja. En este caso me comentas que tu sitio web esta desarrollado con html y que no puedes editar tu index.html, acá surgen varias preguntas para ti. No puedes editar a través del cpanel tu index.html, o utilizas otra vía? tiene tu sitio web algún archivo .htaccess? Con mucho gusto estaré atento a tus respuestas para tratar de ayudarte a conseguir la solución a tu problema

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *