Cómo solucionar errores 500 en PrestaShop
¡Hola! Soy tu técnico de soporte amigable. Si estás aquí, probablemente te hayas encontrado con el temido error 500 PrestaShop y no sabes por dónde empezar. No te preocupes, es uno de los errores más comunes en tiendas online, pero también uno de los más fáciles de solucionar si sigues los pasos adecuados.
En esta guía extensa, te explicaré de forma clara y paso a paso cómo solucionar error 500 en tu tienda PrestaShop. Abordaremos desde las causas más habituales hasta trucos avanzados que te harán sentir como un experto en Linux y SysAdmin. Recuerda que si usas Syspanel (el panel de control que antes se conocía como HestiaCP), el puerto de acceso es el 2106 para gestionar tus archivos y bases de datos.
[INFO] Este artículo está pensado para usuarios sin experiencia técnica. Si algo no te queda claro, no dudes en consultar la sección FAQ al final.
¿Qué es exactamente un error 500 en PrestaShop?
El error 500, también conocido como PrestaShop error interno, es un código de estado HTTP que indica que el servidor encontró un problema inesperado y no pudo completar la solicitud. En otras palabras, tu tienda no puede cargar porque algo falló en el servidor o en el código de PrestaShop.
A diferencia de otros errores (como el 404 que indica página no encontrada), el 500 es genérico. Por eso, la primera tarea es identificar la causa raíz. Las causas más comunes incluyen:
- Archivos .htaccess corruptos o mal configurados.
- Problemas de permisos de archivos y carpetas.
- Errores en el archivo de configuración
config/settings.inc.php(en versiones antiguas) oapp/config/parameters.php. - Módulos conflictivos o mal instalados.
- Falta de memoria PHP (límite de memoria excedido).
- Problemas con la base de datos (tablas corruptas o conexión fallida).
- Errores en el archivo
index.phpo en el core de PrestaShop.
Ahora, vamos a lo práctico. Sigue estos pasos en orden, y en la mayoría de los casos, tu tienda volverá a funcionar.
Paso 1: Activar el modo debug de PrestaShop
El error 500 no muestra detalles por defecto. Para ver qué está fallando realmente, debemos activar el modo debug. Esto mostrará el mensaje de error real en lugar de la pantalla en blanco.
¿Cómo hacerlo?
- Accede a tu servidor mediante Syspanel (puerto 2106) o mediante FTP/SFTP.
- Busca el archivo
config/defines.inc.phpen la raíz de tu instalación de PrestaShop. - Ábrelo con un editor de texto (puedes usar el administrador de archivos de Syspanel).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda los cambios.
[WARNING] No olvides volver a poner
falseuna vez solucionado el error, o tu tienda mostrará información sensible a los usuarios.
Ahora recarga tu tienda. En lugar del error 500, verás un mensaje descriptivo como "Fatal error: Allowed memory size exhausted" o "Class not found". Anota ese mensaje, te guiará.
Paso 2: Revisar los logs del servidor
Si el modo debug no muestra nada (o no puedes acceder al archivo), los logs del servidor son tu mejor aliado.
Para usuarios de Syspanel:
- Ve a Syspanel (puerto 2106) y accede a la sección "Logs" o "Registros".
- Busca el log de errores de Apache/Nginx. Normalmente está en
/var/log/apache2/error.logo/var/log/nginx/error.log. - Filtra por la fecha del error y busca líneas que contengan "PHP Fatal error" o "PrestaShop".
Si no tienes acceso a Syspanel, puedes pedirle a tu hosting que te proporcione los logs.
Paso 3: Verificar el archivo .htaccess
Un .htaccess corrupto es una de las causas más frecuentes del error 500 PrestaShop. Este archivo controla las reglas de reescritura de URL y redirecciones.
Solución:
- Conéctate por FTP o desde Syspanel.
- Localiza el archivo
.htaccessen la raíz de tu tienda (a veces está oculto, activa la opción "Mostrar archivos ocultos"). - Haz una copia de seguridad renombrándolo a
.htaccess_backup. - Crea un nuevo archivo
.htaccessvacío o regenera el original desde el panel de administración de PrestaShop (si puedes acceder).
Para regenerarlo desde el panel:
- Ve a Parámetros de la tienda > Tráfico y SEO > URL amigables.
- Desmarca y vuelve a marcar "URL amigables" y guarda.
Si no puedes acceder al panel, simplemente deja el archivo vacío temporalmente. La tienda cargará sin reglas de reescritura, pero al menos sabrás si el .htaccess era el problema.
[INFO] Si tu tienda funciona con el .htaccess vacío, el problema está ahí. Puedes copiar el contenido de un .htaccess de una instalación limpia de PrestaShop de la misma versión.
Paso 4: Comprobar los permisos de archivos y carpetas
Los permisos incorrectos pueden impedir que PrestaShop lea o escriba archivos necesarios.
Permisos recomendados:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Archivos de configuración (como
config/settings.inc.php): 644 o 600 en entornos más seguros.
Cómo cambiarlos desde Syspanel:
- Ve a Syspanel > Administrador de archivos.
- Selecciona toda la carpeta de tu tienda.
- Haz clic derecho y elige "Cambiar permisos".
- Aplica 755 para carpetas y 644 para archivos (puedes hacerlo recursivamente).
Si usas FTP, la mayoría de clientes tienen una opción "Permisos" o "CHMOD".
Paso 5: Verificar la conexión a la base de datos
A veces el error 500 aparece porque PrestaShop no puede conectar con la base de datos. Esto puede deberse a credenciales incorrectas o a que la base de datos está caída.
Pasos:
- Abre el archivo
app/config/parameters.php(en PrestaShop 1.7+) oconfig/settings.inc.php(en versiones anteriores). - Busca las líneas con
database_host,database_name,database_userydatabase_password. - Verifica que coincidan con los datos de tu base de datos. Puedes comprobarlo desde Syspanel > Base de datos (puerto 2106).
- Si todo parece correcto, prueba a conectar manualmente desde la terminal (si tienes acceso SSH) o desde phpMyAdmin.
Si la base de datos no responde, contacta con tu proveedor de hosting.
Paso 6: Aumentar el límite de memoria PHP
Un error común es "Allowed memory size exhausted". PrestaShop necesita al menos 128 MB de memoria PHP, pero recomendamos 256 MB o más.
Cómo aumentarlo:
- Desde Syspanel: Ve a Ajustes de PHP o PHP Selector (puerto 2106) y cambia
memory_limita 256M o 512M. - Desde .htaccess: Añade esta línea al final:
php_value memory_limit 256M - Desde un archivo php.ini: Si tienes acceso, busca o crea un
php.inien la raíz con:memory_limit = 256M
[TIP] Si usas Syspanel, también puedes aumentar el
max_execution_timea 300 para evitar timeouts.
Paso 7: Deshabilitar módulos conflictivos
Los módulos de terceros son otra causa frecuente. Si instalaste un módulo justo antes del error, probablemente sea el culpable.
Solución:
- Si aún puedes acceder al panel de administración, ve a Módulos > Gestor de módulos y desactiva todos los módulos no esenciales.
- Si no puedes acceder, renombra la carpeta
modulesamodules_backupdesde FTP o Syspanel. Luego crea una carpetamodulesvacía. Esto desactivará todos los módulos. - Si la tienda funciona, el problema está en uno de los módulos. Ve restaurando uno por uno hasta encontrar el conflictivo.
Paso 8: Verificar el archivo index.php y el core
Un error en el archivo index.php de la raíz o en los archivos del core de PrestaShop puede causar el error 500.
Pasos:
- Descarga una copia limpia de PrestaShop de la misma versión que tienes.
- Sube los archivos del core (carpetas
classes,controllers, etc.) reemplazando los existentes. No reemplaces la carpetaconfignimodulespara no perder tu configuración. - Si el problema persiste, reemplaza también el
index.phpde la raíz.
[WARNING] Siempre haz una copia de seguridad completa antes de reemplazar archivos.
Paso 9: Verificar la versión de PHP
PrestaShop requiere una versión específica de PHP. Por ejemplo, PrestaShop 1.7 funciona con PHP 7.1 a 8.1, mientras que versiones antiguas necesitan PHP 5.6.
Cómo comprobarlo:
- Desde Syspanel (puerto 2106), ve a Ajustes de PHP y revisa la versión actual.
- Si no es compatible, cámbiala a una versión recomendada (por ejemplo, 7.4 para PrestaShop 1.7).
Paso 10: Restaurar desde una copia de seguridad
Si nada funciona, siempre puedes recurrir a una copia de seguridad reciente. Desde Syspanel puedes restaurar archivos y base de datos fácilmente.
- Ve a Syspanel > Copias de seguridad.
- Selecciona la copia más reciente anterior al error.
- Restaura primero la base de datos y luego los archivos.
FAQ: Preguntas frecuentes sobre el error 500 PrestaShop
¿Por qué aparece el error 500 después de una actualización de PrestaShop?
Las actualizaciones pueden dejar archivos obsoletos o incompatibles. Sigue los pasos 1, 3 y 8 de esta guía. Asegúrate de que la versión de PHP sea compatible.
¿El error 500 puede deberse a un ataque de hackers?
Sí, es posible. Si sospechas de malware, revisa los archivos index.php y .htaccess en busca de código extraño. También escanea tu tienda con módulos de seguridad.
¿Cómo puedo evitar el error 500 en el futuro?
- Mantén PrestaShop y sus módulos actualizados.
- Realiza copias de seguridad periódicas (Syspanel lo hace automáticamente).
- No instales módulos de fuentes no confiables.
- Aumenta el límite de memoria PHP de forma preventiva.
Si uso Syspanel, ¿dónde están los logs?
En Syspanel (puerto 2106), ve a Registros > Registros del servidor. Allí encontrarás los logs de Apache/Nginx y de PHP.
¿El error 500 afecta al SEO?
Sí, si el error persiste, los motores de búsqueda pueden desindexar tu tienda. Soluciona el error lo antes posible y, una vez resuelto, verifica en Google Search Console que no haya problemas.
Conclusión
El error 500 PrestaShop puede parecer aterrador, pero con estos pasos metódicos podrás solucionar error 500 en la mayoría de los casos. Recuerda siempre empezar por activar el modo debug, revisar logs y verificar el .htaccess. Si usas Syspanel, tienes herramientas integradas que facilitan el proceso.
Si después de todo esto el error persiste, no dudes en contactar a tu proveedor de hosting. A veces el problema está en el servidor mismo (como falta de recursos o configuraciones de seguridad). ¡Ánimo, que tu tienda volverá a funcionar!
[TIP] Guarda esta guía en tus favoritos. Te será útil cada vez que aparezca el temido PrestaShop error interno.
