HTTP Error 500 (Internal Server Error) -- Por dónde empezar


#1

Es posible que en algún momento nuestra web nos devuelva un error 500 o simplemente un:
Internal Server Error

El código de estado HTTP 500 devuelve un mensaje de error genérico cuando se encuentra una condición inesperada y no da lugar a un mensaje de error más específico.

Pero…no nos alarmemos!! :scream: , habitualmente requiere pequeños ajustes en las opciones de PHP o revisión de código por parte de un programador… así que… manos a la obra :woman_mechanic:

Paso 1: Revisión de logs

Para poder revisar los logs, desde tu panel de core-admin, te indicámos cómo crear una cuenta FTP

NOTA: Es importante marcar la opción “habilitar carpeta raíz
Cómo crear usuario FTP para alojamientos web con Core-Admin

Una vez que tenemos acceso a nuestros logs (error.log), si todo ha ido siempre con normalidad no deberíamos de ver mucho contenido en este fichero, pero si hay que hacer una búsqueda más específica, lo mejor es que lo hagas por la IP desde la que accediste al navegador y se generó el problema:

¿Cuál es mi IP?

En estas líneas obtendremos información detallada del problema.

Paso 2: Identificación del error (ajuste en servidor o programación)

NOTA: Por regla general, un Notice o un Warning no se considera un Error que haga que la web deje de funcionar completamente. Pero conviene revisarlos.

A continuación detallamos una serie de errores comunes y siguientes pasos:

  • stderr: PHP message: PHP Parse error: syntax error, unexpected

Indica errores de sintaxis (programación). Habitualmente irá acompañado del fichero y línea donde está el problema.

  • stderr: PHP message: PHP Notice: Undefined index

La web puede funcionar con normalidad y no necesariamente es la causa del problema o error 500. Indica que se está intentando acceder a un índice no definido en un array (programación). El evento indicará el nombre del índice, así como el fichero y línea.

  • stderr: PHP message: PHP Notice: Undefined variable

La web puede funcionar con normalidad y no necesariamente es la causa del problema o error 500. Indica que se está intentando acceder a una variable no definida (programación). El evento indicará el nombre de la variable, así como el fichero y la línea dónde se produce.

  • stderr: PHP message: PHP Notice: Undefined property

La web puede funcionar con normalidad y no necesariamente es la causa del problema o error 500. Indica que se está intentando acceder a una propiedad o método dentro de una clase que no lo contiene (programación). El evento indicará la clase a la que se hace referencia y el método: Class::$foo

  • stderr: PHP message: PHP Notice: Trying to get property of non-object

La web puede funcionar con normalidad y no necesariamente es la causa del problema o error 500. Indica que se está intentando extraer un atributo o propiedad de un tipo de datos que no es un objeto (programación).

  • aborted: idle timeout (X sec)

Algo en la web está tardando más de X segundos en terminar. Puedes incrementar este valor desde core-admin (ajuste en servidor -> php_fpm_idle_timeout)

  • stderr: PHP message: PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted

Algún proceso de la web está demandando más memoria de lo habitual y se alcanza el límite. Puedes
incrementar este valor desde core-admin (ajuste en servidor -> memory_limit)

  • stderr: PHP message: PHP Fatal error: require_once(): Failed opening required

Se está intentando hacer un include o require de un fichero que el sistema no es capaz de encontrar o abrir (programación). El error indicará el fichero que se intenta incluir, así como el fichero desde el que se incluye. Verificar que el fichero existe, que la ruta sea correcta y que se tengan permisos de lectura.

Si el error no aparece, contacta con nosotros para que te echemos una mano.

Paso 3: Ajustar opciones de servidor

NOTA IMPORTANTE: Los alojamientos se configuran por defecto con opciones y valores estándar.
Si te ves en la necesidad de modificar valores, probablemente algo no esté funcionando bien en el
código de la web y requiera la supervisión de un programador.

NOTA IMPORTANTE: No es interesante subir valores de modo desproporcionado (se enmascararían
otros problemas). Conviene ajustar configuraciones de modo coherente (poco a poco).

Si dispones de tu propio servidor dedicado y con panel de core-admin, simplemente sigue estas indicaciones.
Si tu hosting es compartido contacta con nosotros, probablemente tu web haya crecido y necesites otro plan
de alojamiento.

Desde core-admin, accede al gestor de alojamientos:

Selecci%C3%B3n_310

, y haz click en el alojamiento en cuestión:

Dentro de la configuración del hosting, en la pestaña “Opciones del sitio” podrás hacer estos cambios:

Paso 4: Problema de programación

En estos casos, lo mejor es contactar con el desarrollador de la web para que haga revisión del código. Si no dispones de esta opción, contacta con nosotros para asignarte un programador que pueda evaluar el problema y ofrecerte una solución.

NOTA: Es por esto que siempre recomendamos encarecidamente que antes de hacer cambios
en la web, la actualices, instales plugins, etc… hagas una copia de seguridad:
Cómo crear un backup de un hosting y restaurarlo con Core-Admin


Cómo depurar Prestashop que va lento en el backoffice