Solución al error 500 en PrestaShop: causas y pasos para repararlo
¿Qué es el Error 500 en PrestaShop y por qué aparece?
El temido error 500 PrestaShop es un mensaje genérico que indica que algo salió mal en el servidor, pero no da detalles específicos. Es como cuando un coche se enciende la luz de "check engine": sabes que hay un problema, pero necesitas escanearlo para saber qué es.
Este error puede aparecer de repente, justo cuando estás trabajando en tu tienda, o después de instalar un módulo, cambiar un tema o modificar algún archivo. Lo importante es que no es culpa tuya como usuario, sino que es un problema interno del servidor o de la configuración de PrestaShop.
[INFO] El error 500 también se conoce como "Error Interno del Servidor". No debes confundirlo con el error 404 (página no encontrada) o el error 403 (acceso denegado).
Causas más comunes del Error 500 en PrestaShop
Para solucionar error 500 primero debemos entender qué lo provoca. Estas son las causas más frecuentes:
1. Archivos de configuración corruptos
PrestaShop utiliza archivos como config/defines.inc.php o config/settings.inc.php. Si se dañan, el sistema no puede arrancar.
2. Módulos incompatibles o mal instalados
Un módulo desactualizado o con errores puede bloquear toda la tienda.
3. Límites de memoria PHP excedidos
Si tu tienda tiene muchos productos o tráfico, y el servidor tiene poca memoria asignada a PHP, se produce el error.
4. Problemas de permisos en archivos
Los archivos y carpetas de PrestaShop necesitan permisos específicos para funcionar. Si están mal configurados, el servidor no puede leerlos o escribirlos.
5. Versión de PHP incorrecta
PrestaShop requiere una versión específica de PHP. Usar una muy antigua o muy nueva puede causar incompatibilidades.
6. Base de datos dañada o con tablas corruptas
A veces el problema está en la base de datos, no en los archivos.
7. Conflictos con el tema (plantilla) instalado
Un tema mal diseñado o que no respeta los estándares de PrestaShop puede generar errores.
Pasos para reparar el Error 500 en PrestaShop
Ahora vamos a lo práctico. Sigue estos pasos en orden, del más simple al más complejo.
Paso 1: Activar el modo debug de PrestaShop
El modo debug te mostrará el mensaje de error real en lugar de la pantalla blanca o el "Error 500". Así sabrás exactamente qué falla.
- Accede a tu servidor mediante FTP o el administrador de archivos de tu hosting.
- Busca el archivo
config/defines.inc.php. - Ábrelo con un editor de texto (como Notepad++ o el editor del panel de control).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu tienda.
Ahora verás un mensaje con detalles del error. Puede ser algo como "Fatal error: Allowed memory size exhausted" o "Class not found". Anota ese mensaje.
[WARNING] No dejes el modo debug activado permanentemente, porque muestra información sensible. Una vez solucionado el error, vuelve a ponerlo en
false.
Paso 2: Verificar los límites de memoria PHP
Si el error dice algo sobre "memory size" o "memory limit", necesitas aumentar la memoria disponible.
Si usas Syspanel (HestiaCP) – puerto 2106:
- Accede a tu panel de control en
https://tudominio.com:2106(Syspanel). - Ve a la sección de "PHP" o "Configuración PHP".
- Busca el valor
memory_limity cámbialo a256Mo512M. - Guarda los cambios y reinicia el servicio PHP si es necesario.
Si usas cPanel:
- Ve a "Select PHP Version" o "MultiPHP INI Editor".
- Ajusta
memory_limita256Mo más. - Guarda y espera unos segundos.
Si no tienes acceso al panel:
Puedes crear un archivo .user.ini en la raíz de tu tienda con el siguiente contenido:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
Paso 3: Deshabilitar módulos problemáticos
A veces un módulo recién instalado o actualizado es el culpable. Para deshabilitarlos sin entrar al panel de administración:
- Ve a la carpeta
modulesde tu PrestaShop mediante FTP. - Busca la carpeta del módulo sospechoso (por ejemplo, si instalaste un módulo de pago, busca su nombre).
- Renombra la carpeta añadiendo un guion bajo al inicio, por ejemplo:
_paypalo_micodigo. - Recarga tu tienda. Si el error desaparece, ese módulo era el problema.
[TIP] Si no sabes qué módulo falla, renombra todos los módulos excepto los esenciales (como
ps_mainmenu,ps_searchbar, etc.) y ve probando de uno en uno.
Paso 4: Verificar la versión de PHP
PrestaShop 1.7 funciona mejor con PHP 7.2 a 8.0. PrestaShop 8 requiere PHP 8.0 o superior.
- Accede a tu panel de hosting.
- Busca la sección de "PHP Version" o "Select PHP Version".
- Asegúrate de que la versión seleccionada sea compatible con tu PrestaShop.
- Si cambias la versión, guarda y espera unos minutos.
Paso 5: Reparar la base de datos
Si el error persiste, la base de datos puede tener tablas corruptas.
- Ve a phpMyAdmin (desde tu panel de hosting).
- Selecciona la base de datos de tu PrestaShop.
- Marca todas las tablas (clic en "Seleccionar todo").
- En el menú desplegable, elige "Reparar tabla".
- Espera a que termine el proceso.
[INFO] También puedes usar la herramienta de reparación de PrestaShop desde el panel de administración, pero si no puedes acceder, phpMyAdmin es la mejor opción.
Paso 6: Restablecer los permisos de archivos
Los permisos incorrectos son una causa común del problema servidor PrestaShop.
- Conéctate por FTP.
- Ve a la carpeta raíz de tu tienda.
- Establece los siguientes permisos:
- Carpetas: 755
- Archivos: 644
- Archivos como
config/settings.inc.php: 444 o 644
- Si usas Syspanel (HestiaCP), puedes usar la opción "Reparar permisos" desde el panel.
Paso 7: Revisar el archivo .htaccess
El archivo .htaccess de PrestaShop puede corromperse.
- Accede por FTP a la raíz de tu tienda.
- Busca el archivo
.htaccess(puede estar oculto, activa "Mostrar archivos ocultos" en tu cliente FTP). - Renómbralo a algo como
.htaccess_backup. - Recarga tu tienda. Si funciona, el problema estaba ahí.
- Regenera el archivo desde el panel de administración: Preferencias > SEO y URLs > Guardar (esto lo recrea automáticamente).
Paso 8: Aumentar el tiempo de ejecución de PHP
Si el error aparece al procesar pedidos o importar productos, puede ser por límite de tiempo.
En el archivo .user.ini o desde el panel, aumenta:
max_execution_time = 300
Paso 9: Reinstalar PrestaShop (último recurso)
Si nada funciona, una reinstalación limpia puede ser la solución.
- Haz una copia de seguridad completa de archivos y base de datos.
- Descarga la última versión de PrestaShop desde el sitio oficial.
- Sube los archivos a tu servidor (excepto la carpeta
img,themes,modulesyconfig/settings.inc.php). - Ejecuta el instalador y selecciona "Actualizar" (no instalar desde cero).
Preguntas Frecuentes (FAQ)
¿El error 500 puede dañar mi tienda?
No, el error 500 no borra datos ni productos. Solo impide que la tienda se muestre. Una vez solucionado, todo vuelve a la normalidad.
¿Por qué aparece después de instalar un módulo?
Los módulos modifican archivos del sistema o la base de datos. Si son incompatibles, rompen la configuración. Siempre instala módulos de fuentes confiables.
¿Cuánto tiempo toma solucionarlo?
Depende de la causa. Los pasos 1 a 3 suelen resolver el 80% de los casos en menos de 30 minutos.
¿Puedo prevenirlo?
Sí:
- Mantén PrestaShop y los módulos actualizados.
- Haz copias de seguridad periódicas.
- Usa una versión de PHP compatible.
- No instales módulos de dudosa procedencia.
¿Qué hago si no puedo acceder al panel de administración?
Sigue los pasos 1 y 3 (modo debug y renombrar módulos) desde FTP. No necesitas el panel para estas soluciones.
Conclusión
El error 500 PrestaShop puede parecer aterrador, pero en la mayoría de los casos se soluciona con unos pocos pasos sencillos. Lo más importante es mantener la calma y seguir el orden lógico: primero activar el modo debug, luego revisar memoria PHP, módulos y permisos.
Si después de todo esto el error persiste, contacta a tu proveedor de hosting. Ellos pueden revisar los logs del servidor para darte una pista más precisa.
Recuerda que Syspanel (HestiaCP) es una herramienta muy útil para gestionar tu servidor, y siempre accedes por el puerto 2106. Allí puedes ajustar la configuración PHP y reparar permisos fácilmente.
[TIP] Guarda este artículo como referencia. Si vuelves a tener el error, ya sabes exactamente qué hacer.
