may
31
2013

Seguimiento y Debug del Error 500 en Prestashop 1.5

Normalmente el típico ERROR 500 suele ser una pesadilla para los desarrolladores, ya que no nos ofrece ningún tipo de información ni pista que podamos seguir para poder “adivinar” de donde viene el error. En ese momento comienza una eterna y a veces infructuosa busqueda por los logs del servidor para intentar encontrar la fuente del error, que puede llegar a desembocar en un debug manual paso a paso hasta que aislas y descubres el problema.

Lo más habitual es que el error sea por una de estas razones:

  • Mala configuración del .htaccess
  • Errores en los permisos de archivos / carpetas
  • Errores en PHP con directivas de ocultación de errores.

Sin embargo puede no ser ninguna de esas causas o siendo alguna de ellas sea dificil encontrar el origen.

Desde la vesión 1.5 de Prestashop tenemos unas nuevas clases de Excepciones que nos pueden hacer esta tarea más facil, pero desafortunadamente no están documentadas asi que aqui os comento unas pequeñas directivas para poder activarlas.

Buscaremos y editaremos el archivo /config/defines.inc.php en él, buscaremos esta cadena: _PS_MODE_DEV_ y haremos los cambios necesarios para dejarlo así:

define('_PS_MODE_DEV_', true);
define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);

Una vez hechos los cambios y subidos al servidor volveremos a la pagina que nos da el error y actualizaremos, si todo va bien y tenemos suerte este vez podremos ver algo como esto:

Ya tenemos algo mas de información, en este caso el error es que la tabla ps_discount no existe en la base de datos, y además sabemos el módulo que está generando el error: bundlediscounts. Ahora la solución ya es otra cosa :)

Deja tu comentario

Publicidad