Error 500 en Prestashop. Cómo solucionarlo
El error 500 es bastante común, y lo que nos indica es que el servidor web ha sufrido un fallo interno. El principal problema es que si este fallo no se corrige a tiempo puede provocar una pérdida en el posicionamiento de la web , y puede que los clientes se vayan a la competencia porque o bien tu página no les transmita la confianza suficiente o porque no puedan ni ver ni comprar nada.
Lo último que quieres que aparezca en tu web es un error de tipo 500 que ahuyente a tus potenciales clientes, por eso este tipo de errores deben de ser prevenidos en todos los casos y solucionados de forma urgente si se producen.
Indice
Conociendo al http error 500 y sus posibles causas
A pesar que, debido al nombre que aparece en pantalla cuando ocurre este error «Error 500, internal server error», podamos pensar que se trata de un error del servidor, lo cierto es que es un error producido por una instrucción dada que el servidor no sabe, o no es capaz de interpretar.
Esto puede afectar a nuestro posicionamiento ya que cuando los robots de los motores de búsqueda lleguen a nuestra página, se encontrarán con esta pantalla que, obviamente, no coincidirá con la información que esperarían encontrar.
Es decir, el error 500 es simplemente un mensaje de error que advierte que algo no está funcionando correctamente en el servidor tras ejecutar alguna petición. No hay que confundirlo con el error 404 , bastante habitual también, que lo que indica es que la página de destino o no existe o no se encuentra disponible en esos momentos. (Si te afecta algún 404 usa una redirección 301 para solventarlo.)
El problema que puede ocasionarnos este error 500 es que sus causas pueden ser debidas a diversos factores, por lo que encontrar una solución rápidamente puede ser, a veces, un poco complicado, sobre todo si queremos deshacernos de él definitivamente.
Tiempo de espera
Todos los servidores tienen un tiempo máximo para ejecutar una acción o script. Este tiempo suele ser de unos 30 segundos y si el límite es superado obtendremos el error 500.
Lectura recomendada: Cómo acelerar y optimizar el rendimiento de tu Prestashop
Archivo .htaccess
También aparecerá el error 500 si este archivo ha sido configurado de forma incorrecta, si el código en htaccess ha sido mal escrito o debido a un mal uso de las url amigables que provoquen algún problema interno en el servidor.
Permisos de carpetas
El permiso 777 contiene numerosos puntos débiles que pueden provocar que se corrompa
el contenido de algunos archivos que tengamos en nuestras carpetas, haciendo que el
funcionamiento del servidor falle y provoque el fallo 500.
Error de programación
Este suele ser el factor más habitual a la hora de provocar el error. Comprende casos desde una línea de código mal programada, conflictos o incompatibilidades entre diferentes procesos de la tienda, o incluso debido a la instalación de algún módulo en Prestashop.
Diferentes tipos de “internal server error”
Los errores 500 se pueden clasificar en diferentes tipos, dependiendo del problema al que apunten. Esto nos ayudará y facilitará la tarea de dónde tenemos que buscar para solucionar el problema. Todos estos errores tienen el formato 5xx, y trataremos de indicarlos de la forma más clara posible a continuación:
Error 500: Internal server error
Este error es el más famoso y habitual de todos los errores http 500. Consiste en que el servidor ha encontrado un fallo y no sabe procesar la información recibida. Este error sirve para prácticamente todo fallo en la programación de la página.
Error 501: No implementado
No es uno de los errores 500 más habituales, pero en este caso sí que tiene que ver con algún problema con el servidor. Lo más común es que sea que el servidor no es capaz de reconocer algunos métodos utilizados por la tienda, debido quizá a que el servidor sea antiguo o por estar utilizando versiones de php o mysql desfasadas. Otro posible motivo es una caída en el servidor. E incluso, puede ocurrir que nuestro navegador no esté actualizado y, por lo tanto, no sepa procesar la situación a la que se está enfrentando.
Error 502: Bad gateway
En este caso estamos hablando de un error provocado por la configuración de forma incorrecta de las DNS o IPs. También puede deberse a una sobrecarga puntual en nuestro proveedor o ISP. Debido a que puede ser un error puntual y temporal, no se necesita más que esperar unos minutos para volver a intentar acceder a la página, sin que ello tenga ningún tipo de repercusión.
Error 503: Service unavailable
Lo más común es que este error aparezca por una sobrecarga del servidor debido a obtener muchas visitas a la página de golpe, o tener que llevar a cabo muchos procesos a la vez. Esta sobrecarga, que suele ser temporal, absorbe todos los recursos del hosting y provoca este error 503.
Algunas posibles soluciones son o bien esperar a que la situación se normalice y el hosting libere trabajo o reiniciar los servicios. Aunque, quizá, la mejor solución sea disponer de un hosting dedicado para Prestashop, o, al menos, tener un equipo con más recursos para poder procesar toda la información que pueda ser necesaria.
Te recomendamos la lectura del post cómo migrar Prestashop a otro servidor.
Error 504: Gateway timeout
Este error es muy común cuando se producen actualizaciones de productos de forma masiva: el cliente intenta actualizar de golpe 50.000 productos, lo que provoca que el servidor necesite un tiempo de ejecución superior al permitido, generando así un error que interrumpe el proceso para salvaguardar la estabilidad del servidor.
La solución pasa por fragmentar el trabajo en procesos más cortos o planteando soluciones alternativas cuando se pueda.
Error 505: Version not supported
Este error se produce cuando el protocolo que usa el navegador no es compatible, o no está soportado por el servidor. Lo normal es que ocurra en servidores muy antiguos, algo que se arregla actualizando de forma inmediata tu servidor para no seguir perdiendo dinero en tu tienda Prestashop.
Error 506: Variant Also Negotiates
Aparecerá este error cuando alguna cosa del equipo esté funcionando mal. Para solucionarlo, la mejor opción es que te pongas en contacto con el departamento de soporte indicándoles el problema.
Error 507: Insufficient Storage
De la misma forma que ocurría con el error 504, este error puede estar ocasionado por algún proceso que esté consumiendo mucha RAM o, incluso, por no disponer de suficiente espacio en nuestro servidor. Para evitarlo, necesitaremos descubrir y revisar cuál es el proceso que consume toda la Ram y, seguramente, ampliar el espacio en el servidor o contratar un hosting más potente.
Error 509: Bandwidth limit exceeded
Si consumes todo el ancho de banda contratado con tu hosting obtendrás este error. La única solución pasa por ampliar la cuota mensual contratada o esperar a que se inicie un plazo nuevo. Asegúrate de estar haciendo todo lo que debes para optimizar el rendimiento de tu Prestashop.
Error 510: Not extended
Lo habitual es que este error ocurra cuando el servidor es antiguo, tiene algún fallo interno o está infectado por algún virus. Otra opción puede ser que el administrador del servidor haya denegado el acceso.
Solucionar el error 500 en Prestashop
Antes de nada, lo más importante es tener activado los informes de error cuando navegamos tanto por el front como por el back office, conocido como modo debug, para poder comprobar y localizar con mayor seguridad y exactitud el error 500 en Prestashop. Consulta este post si el back office de tu Prestashop va lento.
Para las versiones modernas de Prestashop, desde la versión 1.5.3 hasta la versión 1.7, sigue estos pasos para activar el modo debug:
- Ve a config/defines.inc.php
- Busca la línea de código (‘_PS_MODE_DEV_’ false);
- Sustitúyela por (‘_PS_MODE_DEV_’ true);
Pero, si por un casual, tu tienda Prestashop todavía se encuentra en alguna versión antigua, no te preocupes y sigue los siguientes pasos para activar el modo debug:
- Ve a config/config.inc.php
- Busca la línea de código @ini_set(‘display_errors’, ‘off’);
- Sustitúyela por @ini_set(‘display_errors’, ‘on’);
Como ya hemos dicho, gracias a activar los informes de error podremos encontrar con mayor fiabilidad el origen del problema, conocer por qué se produjo y poder encontrar una forma para solventarlo. Además, si el error 500 fuese debido a algún problema de código mal implementado o escrito, también nos mostraría esas líneas donde se encontrase el fallo.
Es conveniente revisar de forma regular el log de errores que encontraremos en nuestro servidor, por norma general, un archivo de texto plano donde se recogen todos los errores que se han ido produciendo en la web. Además, independientemente que el servidor use CPanel, Plesk u otro, tendrás a tu alcance un log para visualizar los errores 500 o 400.
Actualizar Prestashop 1.6 a 1.7
Error 500 Prestashop 1.6 y 1.7
Por otro lado, puede que tu error 500 no proceda de ninguno de los motivos ya abordados.
Sin embargo, gracias al modo debug dispones de información para poder realizar un mejor diagnóstico y optar por una de las soluciones que te proponemos a continuación dependiendo de la causa que pudiera haber provocado ese error 500.
El error es debido al tiempo de espera
La solución pasa por ampliar ese tiempo, de manera que los scripts puedan ejecutarse sin problemas. Contacta con tu proveedor para cambiar ese parámetro, o bien optimiza el código fuente de la página para evitar sobrecargar el servidor.
El error procede de htaccess
Lo primero es realizar una copia de seguridad del archivo .htaccess, luego desactiva las URLs amigables o regenera el archivo htaccess. Lo más habitual en Prestashop es que tras desactivar las URLs amigables ya se regenere automáticamente el archivo.
El error se encuentra en el permiso de carpetas
Lo que tienes que hacer si el error 500 tiene su origen en el permiso de carpetas, es cambiar el permiso de 777 a 755 o 644. Este error puede estar provocado por haber cambiado los permisos de alguna carpeta en particular, y debido a lo escrupuloso que es Prestashop en el tema de los permisos por motivos de seguridad, nos produce este error
500.
Error 500 provocado por errores de programación
Por otro lado, si el error se produce por algún error de programación dentro de Prestashop, lo más recomendable es contactar con algún experto que pueda solucionar el problema de una forma más rápida y efectiva, o aconsejarte sobre los pasos que debes seguir para solucionarlo.
Consideraciones finales
Solventar este tipo de errores es más sencillo cuando conoces las diferencias entre tipos porque te permite determinar la línea de actuación. No obstante, es normal encontrar problemas que necesiten de asesoramiento experto y soluciones compleja. Si te encuentras ante esta situación ponte en contacto con nosotros y te ayudaremos a recuperar tu web.