Tutoriales, Prestashop

Prestashop error 500 o página en blanco al acceder al Back-office

El error ocurre cuando se accede al Back-office solamente desde el modo Debug activado o en modo producción activado. La característica de este error es que solamente ocurre en uno de los modos y no en ambos.

En este artículo vamos a hablar de un error crítico que a muchos os está trayendo de cabeza y que a pesar de que la solución es simple, es muy difícil encontrarla si no se tiene conocimientos avanzados en el funcionamiento interno de Prestashop.

Se trata de un error que está ocurriendo SOLAMENTE EN TIENDAS PRESTASHOP VERSIÓN 1.7, y que imposibilita que podamos entrar en el Back-office, mostrando un error 500 o la página se queda en blanco. Por esa razón lo llamamos un error crítico, por dejar inoperativa la tienda.

La característica más importante de este problema es que curiosamente el error solamente ocurre cuando se activa uno de lo dos modos disponibles (Modo a prueba de fallos o modo DEBUG y el modo normal) y no en ambos modos indistintamente.

Pero antes de entrar en materia con la explicación, vamos a hacer un inciso y explicar qué significan los errores 500.

Prestashop error 500

 

¿Qué es un error 500?

Todos los errores relacionados con la informática tienen un código de error que sirve para diferenciar el origen del problema y así saber dar con la solución de manera eficiente y rápida. En este caso, en todo lo relacionado con los servidores webs, existen varios códigos de estado HTTP de tres cifras (1xx, 2xx, 3xx, 4xx, 5xx). Algunos de estos códigos (no todos) significan un estado de error o conflicto.

En el caso de los errores 5xx, su origen está relacionado con el servidor y un problema en el código de programación de sus elementos. El error 500 significa Internal server Error (Error Interno del Servidor). Siempre que ocurra un error 500, se detendrá la ejecución de la tarea de devolución de información por parte del servidor al navegador web. Por lo tanto, como hemos mencionado anteriormente, se trata de un error crítico que dejaría inoperativo el sitio web.

Los errores 500, como bien hemos indicado anteriormente, son errores internos del servidor y su origen puede estar en un error de código de programación en cualquier elemento que esté incluido y relacionado con la solicitud de información devuelta por el servidor al navegador web. Por lo tanto, no todos los errores 500 proceden de un mismo origen.

 

 ¿Cómo puedo saber el origen de los errores 500?

Al ser un error interno del servidor, la manera más segura de saber la procedencia del error y de los elementos de código de programación que están causando el problema es a través de los archivos de log de errores del servidor. En los servidores basados en Linux, el archivo se llama error_log  y está ubicado dentro de una carpeta llamada logs ubicada generalmente en la ruta /var/www/vhosts/”tudominio”/logs (“tudominio” sería el dominio que se esté utilizando en el servidor).

 

Cómo detectar este error 500

Volviendo a la materia, os vamos a explicar el origen de este error tan característico en las tiendas Prestashop 1.7 y que curiosamente solamente ocurre cuando tenemos uno de los dos modos está activado y no con ambos.

En las tiendas Prestashop 1.7, a diferencia de la versión 1.6, se crean una serie de archivos de caché ubicados en dos carpetas “prod” (modo producción) y “dev” (modo Debug), dependiendo del modo Prestashop que se esté utilizando.

Estos archivos de cache sirven para acelerar el funcionamiento de Prestashop en cada uno de los modos elegidos y están ubicados en uno de los dos directorios dependiendo de la versión de Prestashop:

  • /app/cache/
  • /var/cache/

Si existe un error de código de programación, este será escrito en los archivos de caché correspondientes al modo que en ese momento se esté utilizando. Por ejemplo, si se está utilizando el modo Debug, los archivos de caché con el error se guardarán en la carpeta “dev”, y por o tanto solamente cuando se tenga activado el modo Debug se originará ese error 500 del servidor y que no será originado cuando se active el modo en producción (modo normal).

 

Cómo solucionar este problema

La solución, como adelantábamos al principio de este post es relativamente sencilla. Una vez conocido el origen del problema, básicamente la solución es la de limpiar y eliminar todos los archivos de caché de Prestashop que contienen las dos carpetas que hemos mencionado antes, “dev” y “prod”.

Este problema ya ha sido tratado en el foro de Prestashop en español y el foro de Prestashop en inglés

IMPORTANTE: Para tu conocimiento, este tipo de archivos de caché no se elimina automáticamente desde la opción de “Vaciar cache” que tenemos en el Back-office en parámetros avanzados > performance por lo que la limpieza y eliminación se tiene que hacer de forma manual o a través de algún módulo o script desarrollado para esta función.

En Liewebs hemos desarrollado un script que cuando es ejecutado tiene la función de limpiar por completo toda la caché de Prestashop, incluido los archivos de caché de estas dos carpetas. Te lo puedes descargar de forma gratuita haciendo clic en el siguiente botón:

Artículos relacionados

Este sitio web utiliza cookies propias y de terceros para medir las visitas y las fuentes de tráfico web. La base legal es el consentimiento del usuario, excepto en el caso de las cookies básicas, que son esenciales para navegar por este sitio web.
¿Necesitas ayuda? Chatea con nosotros
Por favor, acepta nuestra Política de Privacidad de datos y Cookies antes de comenzar con la conversación.

COVID-19

Toda la información sobre nuestra disponibilidad y servicios especiales durante la duración del estado de alarma