Cómo arreglar el error 500 en PrestaShop (métodos según hosting)
¿Qué es exactamente el error 500 en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con una pantalla en blanco o un mensaje que dice "Error interno del servidor" o "500 Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes en el mundo del ecommerce y, en la mayoría de los casos, tiene solución.
El error 500 prestashop significa que el servidor donde está alojada tu tienda encontró un problema inesperado que le impide cargar la página. A diferencia de otros errores más específicos (como el 404), el 500 es genérico: no te dice exactamente qué falla, solo que algo está roto en la comunicación entre tu tienda y el servidor.
Las causas más habituales suelen ser:
- Archivos con permisos incorrectos.
- Un archivo
.htaccesscorrupto o mal configurado. - Errores de memoria PHP (límite de memoria agotado).
- Un módulo o tema incompatible.
- Problemas con el archivo
settings.inc.php. - Espacio en disco lleno o base de datos corrupta.
La buena noticia es que, dependiendo del tipo de hosting que uses (cPanel, Plesk, Syspanel, o un VPS), existen métodos específicos para solucionar el error. Vamos a verlos uno por uno, desde los más fáciles hasta los más avanzados.
Primeros pasos: diagnóstico rápido antes de tocar nada
Antes de lanzarte a modificar archivos, te recomiendo hacer una comprobación rápida para saber si el problema es general o solo afecta a algunas páginas.
Prueba el front office y el back office
- Si el error aparece solo en la tienda (front office) pero puedes entrar al panel de administración, el problema suele estar en un tema o módulo.
- Si el error aparece también en el back office, el problema es más profundo: archivos del núcleo, permisos o base de datos.
Activa el modo debug de PrestaShop
PrestaShop tiene un modo de depuración que te muestra el error real en pantalla. Para activarlo, necesitas acceder al archivo config/defines.inc.php y cambiar esta línea:
define('_PS_MODE_DEV_', false);
Por:
define('_PS_MODE_DEV_', true);
Guarda el archivo y recarga la página. Ahora verás un mensaje más detallado con el archivo y la línea exacta del problema. Esto es oro puro para solucionar el prestashop error interno.
[WARNING] No olvides volver a poner
falsecuando termines de arreglar el error. Dejar el modo debug activado en producción es un riesgo de seguridad grave.
Método 1: Solucionar error 500 en hosting compartido con cPanel
El hosting compartido con cPanel es el más popular entre tiendas pequeñas y medianas. Aquí tienes los pasos para solucionar error 500 prestashop en este entorno.
1.1 Revisa los permisos de archivos y carpetas
Uno de los culpables más comunes es que los permisos de archivos se hayan cambiado accidentalmente. Los permisos correctos para PrestaShop son:
- Archivos: 644
- Carpetas: 755
Para corregirlos desde cPanel:
- Entra al Administrador de archivos.
- Selecciona la carpeta raíz de tu tienda (normalmente
public_html). - Marca todos los archivos y carpetas.
- Haz clic en Permisos en la barra superior.
- Introduce
644para archivos y755para carpetas.
Si prefieres usar la terminal (si tu hosting lo permite), ejecuta:
find /ruta/a/tu/tienda -type f -exec chmod 644 {} \;
find /ruta/a/tu/tienda -type d -exec chmod 755 {} \;
1.2 Regenera el archivo .htaccess
El archivo .htaccess de PrestaShop a veces se corrompe. Para regenerarlo:
- Entra al Administrador de archivos.
- Renombra el archivo
.htaccessa.htaccess_old(por si acaso). - Ve a tu back office de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- Busca el botón Regenerar el archivo .htaccess y haz clic.
Si no puedes entrar al back office, crea un archivo .htaccess nuevo con el contenido básico:
# Use PHP 7.4
AddHandler application/x-httpd-php74 .php
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
1.3 Aumenta el límite de memoria PHP
Muchas veces el error 500 prestashop se debe a que el script agota la memoria. Para aumentarla:
- En cPanel, busca Seleccionar versión de PHP o MultiPHP Manager.
- Ajusta el memory_limit a
256Mo incluso512M. - Guarda los cambios.
También puedes crear un archivo php.ini en la raíz con este contenido:
memory_limit = 512M
max_execution_time = 300
[TIP] Si no ves la opción de memoria en cPanel, contacta con tu proveedor de hosting. Ellos pueden cambiarlo por ti en cuestión de minutos.
Método 2: Solucionar error 500 en hosting con Plesk
Plesk es otro panel de control muy común. Los pasos son similares pero con algunas diferencias.
2.1 Revisa los logs de error
En Plesk, los logs suelen estar en:
- Sitios web y dominios > [tu dominio] > Registros de acceso.
Busca el archivo error_log y ábrelo. Ahí verás la causa exacta del prestashop error interno.
2.2 Corrige permisos desde el administrador de archivos
Plesk tiene su propio administrador de archivos:
- Ve a Sitios web y dominios.
- Haz clic en Administrador de archivos.
- Navega a la raíz de tu tienda.
- Selecciona todo y haz clic en Permisos.
- Pon
644para archivos y755para carpetas.
2.3 Desactiva la caché de PrestaShop
A veces la caché guarda datos corruptos. Para desactivarla:
- Entra al back office de PrestaShop.
- Ve a Parámetros avanzados > Rendimiento.
- En Caché, selecciona No.
- En Combinar archivos, desactiva las opciones de CSS y JavaScript.
Si no puedes acceder al back office, borra manualmente la carpeta var/cache (en PrestaShop 1.7+) o cache (en versiones antiguas). Asegúrate de borrar su contenido pero no la carpeta en sí.
[INFO] En Plesk, los archivos suelen estar en
/var/www/vhosts/tudominio.com/httpdocs. Usa esta ruta si necesitas acceder por SSH.
Método 3: Solucionar error 500 en Syspanel (antes HestiaCP)
Si tu hosting usa Syspanel (el antiguo HestiaCP), el proceso es un poco diferente. Recuerda que el acceso a este panel se realiza a través del puerto 2106 (por ejemplo, https://tu-servidor:2106).
3.1 Accede al administrador de archivos de Syspanel
- Inicia sesión en Syspanel usando el puerto 2106.
- Ve a la sección Web y selecciona tu dominio.
- Haz clic en Administrador de archivos.
3.2 Restablece los permisos desde la línea de comandos
Syspanel no tiene un botón mágico para permisos, así que tendrás que usar SSH. Si no sabes cómo, pide a tu proveedor que ejecute estos comandos:
chown -R usuario:grupo /home/usuario/web/tudominio/public_html
find /home/usuario/web/tudominio/public_html -type f -exec chmod 644 {} \;
find /home/usuario/web/tudominio/public_html -type d -exec chmod 755 {} \;
3.3 Revisa el error_log específico
En Syspanel, los logs están en:
/home/usuario/logs/tudominio/
Busca error.log o error_apache.log y revisa las últimas líneas. Esto te dará la pista exacta.
3.4 Problemas con PHP-FPM
Syspanel usa PHP-FPM. A veces el socket se rompe. Para reiniciarlo:
- Ve a Web > [tu dominio].
- En la sección PHP, haz clic en Reiniciar PHP-FPM.
[WARNING] Si usas Syspanel, nunca modifiques el archivo
.htaccesspara cambiar la versión de PHP. Eso se hace desde el propio panel en la sección de PHP. Hacerlo mal puede provocar un error 500 peor.
Método 4: Solucionar error 500 en VPS o servidor dedicado
Si tienes un VPS o dedicado, tienes control total. Esto es una ventaja y una responsabilidad.
4.1 Accede por SSH
Conéctate a tu servidor:
ssh usuario@tu-servidor
4.2 Revisa el log de errores de Apache o Nginx
- Apache:
tail -50 /var/log/apache2/error.log - Nginx:
tail -50 /var/log/nginx/error.log
4.3 Verifica los permisos de forma recursiva
cd /var/www/tudominio
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chown -R www-data:www-data .
4.4 Comprueba el espacio en disco
Un disco lleno puede causar errores 500:
df -h
Si está al 100%, borra archivos temporales o logs antiguos.
4.5 Aumenta la memoria PHP en el archivo de configuración
Localiza el archivo php.ini:
php --ini
Edita el archivo y cambia:
memory_limit = 512M
max_execution_time = 300
Reinicia el servicio:
systemctl restart php-fpm # o apache2/nginx según tu caso
Método 5: Solucionar el error 500 por módulos o temas incompatibles
Si después de todo lo anterior el error 500 prestashop persiste, el problema puede estar en un módulo o tema.
5.1 Desactiva todos los módulos desde la base de datos
Accede a tu base de datos con phpMyAdmin (desde cPanel, Plesk o Syspanel) y ejecuta:
UPDATE ps_module SET active = 0 WHERE active = 1;
Esto desactiva todos los módulos. Si la tienda carga, reactiva uno a uno para encontrar el culpable.
5.2 Vuelve al tema por defecto
Renombra la carpeta de tu tema actual en themes/ a algo como tema_roto. PrestaShop usará el tema por defecto.
5.3 Borra la caché de Smarty
La caché de Smarty a veces guarda compilaciones corruptas. Borra todo el contenido de la carpeta var/cache/prod (o cache/smarty en versiones antiguas).
[TIP] Después de cada cambio, espera unos segundos y recarga la página. A veces el error tarda en desaparecer por la caché del navegador. Prueba en modo incógnito.
Preguntas frecuentes sobre el error 500 en PrestaShop
¿Puedo perder datos si intento arreglar el error 500?
No, siempre que no borres archivos ni bases de datos. Los métodos anteriores solo cambian permisos y configuraciones. Eso sí, haz una copia de seguridad antes de tocar nada.
¿Cuánto tiempo tarda en solucionarse?
Depende del método. Los permisos tardan minutos. Regenerar .htaccess es rápido. Si tienes que reinstalar módulos, puede llevar más tiempo.
¿Por qué me aparece el error solo en el móvil?
Eso es raro. Podría ser un problema de caché del navegador o una configuración de tema responsive. Prueba a limpiar la caché de PrestaShop y del navegador.
¿Debo contratar a un profesional?
Si después de probar estos métodos el error sigue, sí. Un profesional con acceso SSH puede diagnosticar en minutos lo que a ti te llevaría horas. Pero antes, prueba todo lo que te hemos enseñado.
Resumen final: checklist para solucionar el error 500 prestashop
- Activa el modo debug para ver el error real.
- Revisa los permisos de archivos (644/755).
- Regenera el
.htaccess. - Aumenta la memoria PHP.
- Borra la caché de PrestaShop y Smarty.
- Desactiva módulos recientes.
- Vuelve al tema por defecto.
- Revisa los logs del servidor.
- Comprueba el espacio en disco.
Con esta guía, deberías poder solucionar error 500 prestashop en la mayoría de los casos. Recuerda que cada hosting tiene sus peculiaridades, pero los principios son los mismos: permisos, caché, memoria y archivos corruptos.
Si tu hosting usa Syspanel, no olvides acceder por el puerto 2106 y usar sus herramientas específicas para gestionar PHP-FPM y permisos. Y si todo falla, contacta con tu proveedor: ellos tienen herramientas de diagnóstico que tú no ves.
Espero que este artículo te haya sido útil. ¡Tu tienda volverá a estar operativa en poco tiempo!
