Cómo resolver el error '500 Internal Server Error' en PrestaShop (todos los paneles)
¡Hola! Soy tu técnico de soporte amigable. Entiendo que ver un error 500 Internal Server Error en tu tienda PrestaShop es frustrante, sobre todo si no sabes por dónde empezar. No te preocupes, es uno de los errores más comunes y, en la mayoría de los casos, tiene solución. En esta guía extensa y paso a paso, te explicaré qué significa este error, por qué ocurre y, lo más importante, cómo resolverlo en cualquier panel de control (cPanel, Syspanel, Plesk, DirectAdmin, etc.). Vamos a ello.
[INFO] Este artículo está diseñado para usuarios sin experiencia técnica. Si en algún momento te sientes perdido, respira hondo y sigue los pasos en orden. Siempre puedes contactar con tu proveedor de hosting si algo se complica.
¿Qué es el error 500 Internal Server Error en PrestaShop?
El error 500 prestashop es un error genérico del servidor. Significa que algo salió mal en el servidor web, pero no te da detalles específicos. Es como si el servidor dijera: "Algo no funciona, pero no sé explicarte qué". Las causas pueden ser muy variadas: desde un archivo .htaccess corrupto hasta un plugin (módulo) conflictivo, pasando por problemas de memoria PHP o permisos incorrectos.
Lo bueno es que, siguiendo un orden lógico, podemos identificar y solucionar la causa. No te asustes, la mayoría de soluciones son simples y no requieren ser un experto en programación.
Paso 1: Lo primero, reinicia y limpia la caché
A veces, el error es temporal y se soluciona con un simple reinicio. Aunque no siempre funciona, es el primer paso porque es rápido y no tiene riesgo.
Limpiar la caché de PrestaShop desde el panel de administración
Si puedes acceder al back office de tu tienda (aunque sea de forma intermitente), intenta esto:
- Ve a Parámetros Avanzados > Rendimiento.
- Haz clic en Limpiar la caché (tanto la de Smarty como la de Symfony).
- También puedes borrar manualmente las carpetas
/cache/smarty/cache/y/cache/smarty/compile/desde el panel de archivos (explicado más abajo).
[TIP] Si no puedes acceder al back office, salta directamente al siguiente paso. La limpieza manual de caché también se puede hacer por FTP o panel de archivos.
Paso 2: Identifica el error real (activa el modo debug)
El error 500 es genérico, pero PrestaShop puede darte más pistas si activas el modo debug. Esto mostrará el error real (por ejemplo, "Allowed memory size exhausted" o "Call to undefined function"). Es temporal, actívalo solo para diagnosticar.
Cómo activar el modo debug en PrestaShop
- Accede a tu panel de control (cPanel, Syspanel, Plesk, etc.) o a tu cliente FTP.
- Navega hasta la raíz de tu instalación de PrestaShop (donde está el archivo
index.php). - Busca el archivo config/defines.inc.php.
- Edítalo (con bloc de notas o editor de texto del panel).
- Busca la línea:
define('_PS_MODE_DEV_', false); - Cambia
falseportrue:define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu tienda. Ahora verás un mensaje de error detallado (por ejemplo, un error PHP con el nombre del archivo y la línea).
[WARNING] No dejes el modo debug activado en producción. Una vez resuelto el error, vuelve a poner
false. Si no, los clientes verán mensajes técnicos.
Ejemplo de error que puedes ver:
Fatal error: Allowed memory size of 134217728 bytes exhausted-> Problema de memoria PHP.Parse error: syntax error, unexpected...-> Error en un archivo PHP (normalmente de un módulo).Class not found-> Módulo o tema corrupto.
Anota el error exacto, te ayudará a aplicar la solución correcta.
Paso 3: Soluciones según el error detectado
Una vez que tienes el error real, puedes aplicar la solución específica. Aquí tienes las causas más comunes y cómo arreglarlas.
Solución 3.1: Aumentar la memoria PHP (límite de memoria)
Si ves un error de memoria agotada, necesitas aumentar el límite de memoria PHP. Esto se hace modificando el archivo php.ini o el archivo .htaccess.
Opción A: Desde el panel de control (Syspanel/cPanel)
- Accede a tu panel (por ejemplo, Syspanel en puerto 2106, o cPanel en puerto 2083).
- Busca la sección PHP o Seleccionar versión de PHP.
- Aumenta el memory_limit a 256M o 512M. Guarda los cambios.
Opción B: Editando el archivo .htaccess
- Conéctate por FTP o panel de archivos.
- Busca el archivo
.htaccessen la raíz de PrestaShop. - Añade estas líneas al final del archivo:
php_value memory_limit 256M php_value max_execution_time 120 - Guarda y prueba.
[INFO] Si tu hosting no permite modificar
php.ini, contacta con tu proveedor para que lo hagan. Algunos hosts tienen límites fijos.
Solución 3.2: Archivo .htaccess corrupto o incorrecto
El archivo .htaccess de PrestaShop es esencial para las URLs amigables y la seguridad. Si se corrompe, da error 500.
- Conéctate por FTP o panel de archivos.
- Busca el archivo
.htaccessen la raíz. - Renómbralo a
htaccess_old(por si acaso). - Ve al back office de PrestaShop (si puedes acceder) y ve a Configuración > Tráfico y SEO > URL amigables. Desactiva y activa de nuevo las URL amigables. Esto regenerará el archivo.
- Si no puedes acceder al back office, puedes generar un
.htaccessbásico. Crea un archivo nuevo con este contenido:# BEGIN PrestaShop <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] </IfModule> # END PrestaShop - Guarda como
.htaccessy prueba la tienda.
[WARNING] No copies contenido de otros sitios. Cada PrestaShop tiene reglas específicas. La regeneración desde el back office es lo mejor.
Solución 3.3: Módulo o tema conflictivo
Un módulo recién instalado o actualizado puede romper la tienda. Para diagnosticar:
- Desactiva todos los módulos no esenciales desde el back office (si puedes acceder). Ve a Módulos > Gestor de módulos y desactiva los que no sean de PrestaShop.
- Si no puedes acceder, renombra la carpeta
/modulestemporalmente. Conéctate por FTP y cambia el nombre de la carpetamodulesamodules_old. Luego crea una nueva carpeta vacía llamadamodules. Esto desactivará todos los módulos. Si la tienda funciona, el problema está en un módulo. Ve agregando módulos de uno en uno hasta encontrar el conflictivo. - Cambia temporalmente al tema predeterminado (por ejemplo, "classic"). Si usas un tema personalizado, renómbralo a
tema_oldy PrestaShop usará el tema por defecto.
Solución 3.4: Permisos de archivos incorrectos
Los archivos de PrestaShop deben tener permisos específicos. Si están mal, el servidor no puede leerlos o escribirlos.
- Conéctate por FTP o panel de archivos.
- Selecciona toda la carpeta de PrestaShop.
- Establece los permisos de carpetas a 755 y de archivos a 644.
- En la carpeta
/cache,/logy/img, los permisos pueden ser 777 temporalmente para que PrestaShop pueda escribir, pero luego vuelve a 755 por seguridad.
[TIP] Muchos paneles tienen una opción "Reparar permisos" que lo hace automático. En cPanel, busca "File Permissions" o "Fix Permissions".
Paso 4: Soluciones avanzadas (si nada funciona)
Si después de los pasos anteriores el internal server error prestashop persiste, prueba estas opciones más técnicas.
4.1: Revisar el error log del servidor
El servidor guarda registros de errores. Accede a ellos desde tu panel de control:
- Syspanel: Ve a Registros > Registros de errores (o similar).
- cPanel: En la sección Métricas, busca Errores o Error Log.
- Plesk: En Sitios web y dominios, haz clic en Registros.
Busca líneas con la hora del error. Te darán pistas como "require(): Failed opening required...", "PHP Fatal error: Uncaught Error...", etc.
4.2: Probar con un archivo PHP de prueba
Crea un archivo llamado test.php en la raíz con este contenido:
<?php
phpinfo();
?>
Si al acceder a tudominio.com/test.php ves la información de PHP, el servidor funciona bien. Si también da error 500, el problema es del servidor (contacta con tu hosting). Si funciona, el problema es específico de PrestaShop.
4.3: Restaurar una copia de seguridad
Si tienes una copia de seguridad reciente (archivos y base de datos), restáurala. Así vuelves a un estado anterior donde todo funcionaba. Muchos paneles tienen herramientas de backup automático.
[WARNING] Asegúrate de hacer una copia de seguridad de tu estado actual antes de restaurar, por si acaso.
Preguntas frecuentes (FAQ)
¿Por qué aparece el error 500 solo en algunas páginas?
Suele ser por un módulo específico activo solo en esas páginas, o por un límite de memoria alcanzado en páginas con muchos productos.
¿Puedo perder datos si sigo estos pasos?
No, a menos que borres archivos importantes. Siempre haz una copia de seguridad antes de renombrar carpetas o modificar archivos.
¿Qué hago si no puedo acceder al back office ni al FTP?
Contacta con tu proveedor de hosting. Ellos pueden acceder al servidor y ayudarte a desactivar módulos o aumentar la memoria.
¿El error 500 puede deberse a una actualización de PrestaShop?
Sí, a veces una actualización incompleta o un módulo no compatible causa el error. Revisa los pasos de módulos y .htaccess.
¿Debo contratar a un desarrollador?
Si después de seguir todos los pasos el error persiste y no te sientes cómodo, un profesional puede resolverlo rápidamente. Pero la mayoría de casos se solucionan con esta guía.
Resumen: Checklist rápida
- ✅ Reinicia y limpia caché (manual o desde back office).
- ✅ Activa modo debug para ver el error real.
- ✅ Aumenta memoria PHP a 256M.
- ✅ Renombra .htaccess y regenera desde back office.
- ✅ Desactiva módulos (renombrando carpeta si es necesario).
- ✅ Cambia al tema por defecto.
- ✅ Corrige permisos de archivos (755 carpetas, 644 archivos).
- ✅ Revisa el error log del servidor.
- ✅ Prueba con un archivo test.php.
- ✅ Restaura una copia de seguridad como último recurso.
[INFO] Si todo falla, no dudes en contactar con el soporte de tu hosting. Diles que has seguido esta guía y que necesitas ayuda para revisar los logs del servidor. Ellos tienen acceso directo.
Espero que esta guía te haya sido de gran ayuda. Recuerda que el error 500 prestashop es un problema común y, con paciencia y método, siempre se encuentra la solucion error 500 prestashop. ¡Mucho ánimo y que tu tienda vuelva a funcionar pronto!
