Cómo solucionar el error 500 en PrestaShop (Guía práctica)
Antes de empezar: ¿Qué significa realmente el error 500?
Si estás leyendo esto, probablemente te has encontrado con un mensaje de "Error interno del servidor" o "Error 500" en tu tienda PrestaShop. Tranquilo, no eres el primero al que le pasa y, sobre todo, tiene solución.
El error 500 es un mensaje genérico que indica que algo ha fallado en el servidor, pero no te dice exactamente qué. Es como si tu coche se parara y el cuadro de mandos solo mostrara "avería general". No es culpa de tu ordenador ni de tu conexión a internet, sino de la configuración del servidor o de algún archivo de tu tienda.
En este artículo, vamos a desgranar paso a paso cómo solucionar error 500 en PrestaShop, desde los métodos más sencillos hasta los más avanzados, para que puedas recuperar tu tienda online lo antes posible. No necesitas ser un experto en hosting, solo seguir el orden que te proponemos.
¿Por qué aparece el error 500 en PrestaShop?
Antes de lanzarnos a arreglar nada, es útil entender las causas más comunes. Esto te ayudará a elegir el camino más rápido para arreglar error 500 tienda. Las razones suelen ser:
- Permisos de archivos incorrectos: Los archivos de PrestaShop necesitan permisos específicos para leerse y escribirse. Si se cambian a valores incorrectos (por ejemplo, 777 en todos), el servidor puede bloquearse.
- Archivo
.htaccesscorrupto: Este archivo es el "manual de instrucciones" del servidor. Si se daña o tiene una sintaxis incorrecta, todo falla. - Módulos o temas incompatibles: A veces, al instalar una actualización o un módulo, se genera un conflicto que provoca el error.
- Límite de memoria PHP agotado: Si tu tienda necesita más memoria de la que el servidor permite, se produce un fallo crítico.
- Errores en el archivo
settings.inc.phpoparameters.php: Son archivos de configuración clave. Si están vacíos o corruptos, PrestaShop no puede conectarse a la base de datos. - Problemas con el certificado SSL: Una configuración SSL incorrecta también puede desencadenar un error 500 en algunas páginas.
Ahora sí, vamos a la acción. Te recomiendo seguir estos pasos en orden, probando tu tienda después de cada uno.
Paso 1: La información es poder (Activa el modo depuración)
Lo primero que necesitas es que PrestaShop te diga qué está fallando. Por defecto, el error 500 es mudo, pero podemos "despertar" el modo depuración para ver el mensaje real.
### ¿Cómo activar el modo debug?
- Accede a tu panel de control de hosting. Si usas Syspanel (recuerda, el acceso es por el puerto 2106), busca el administrador de archivos.
- Navega hasta la carpeta raíz de tu tienda PrestaShop.
- Busca el archivo llamado
config/defines.inc.php. - Ábrelo con el editor de texto del administrador de archivos (o descárgalo y edítalo con un programa como Notepad++).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo si lo habías descargado.
[WARNING] Este cambio mostrará los errores de PHP directamente en tu tienda, lo cual es perfecto para diagnosticar, pero NO es seguro para una tienda en producción. Una vez solucionado el problema, vuelve a poner false.
Ahora, recarga tu tienda. En lugar del error 500, verás un mensaje de error específico (por ejemplo, "Fatal error: Allowed memory size..."). Anota ese mensaje, es tu mapa del tesoro.
Paso 2: El sospechoso habitual: El archivo .htaccess
Si no has conseguido ver un error claro, o después de verlo quieres probar algo rápido, el archivo .htaccess es un gran candidato. A menudo se corrompe.
### Cómo regenerar el archivo .htaccess
- En tu administrador de archivos, asegúrate de activar la opción "Mostrar archivos ocultos" (los que empiezan por un punto).
- Localiza el archivo
.htaccessen la raíz de tu PrestaShop. - No lo borres aún. Primero, descárgalo a tu ordenador como copia de seguridad.
- Ahora sí, borra el archivo
.htaccessdel servidor. - Ve a tu panel de administración de PrestaShop (la URL sería
tudominio.com/admin1234). - Ve a Parámetros avanzados > Rendimiento.
- Haz clic en el botón "Regenerar el archivo .htaccess" (si existe el botón) o simplemente guarda la página.
- Si todo ha ido bien, PrestaShop creará un archivo
.htaccessnuevo y limpio.
Prueba a cargar tu tienda. Si el error persiste, pasamos al siguiente paso.
Paso 3: Revisar los permisos de archivos y carpetas
Los permisos son como las cerraduras de las puertas. Si están mal puestas, nadie puede entrar (ni siquiera el servidor). Para PrestaShop, los permisos más comunes son:
- Carpetas: Deben tener permiso
755. - Archivos: Deben tener permiso
644.
### Cómo cambiarlos desde Syspanel o cPanel
- Ve a la raíz de tu instalación de PrestaShop.
- Selecciona todo (carpetas y archivos).
- Si tu administrador de archivos lo permite, haz clic en "Cambiar permisos".
- Introduce el valor
755para las carpetas y644para los archivos. Si solo te deja un valor, aplica755a todo y luego cambia los archivos a644(o busca la opción "Aplicar a subcarpetas y archivos"). - Aplica los cambios.
[INFO] Si después de este cambio ves un error 500 en el panel de administración, no entres en pánico. A veces, los permisos de la carpeta var/cache o cache necesitan ser 755 para que el sistema pueda escribir en ellos. Vuelve a poner 755 en esas carpetas específicas.
Paso 4: Liberar la caché de Smarty
PrestaShop usa un sistema de caché llamado "Smarty" para cargar las páginas más rápido. A veces, esta caché se corrompe y causa el error 500.
### Cómo limpiar la caché manualmente
- Conéctate a tu hosting vía FTP o administrador de archivos.
- Navega hasta la carpeta
var/cache(en versiones nuevas) ocache(en versiones antiguas). - Dentro, encontrarás subcarpetas como
dev,prodo archivos con nombres raros. - No borres las carpetas, pero sí el contenido de dentro (los archivos
.phpy.cacheque haya). - Si no puedes borrar todo, intenta borrar al menos los archivos
.phpque están directamente en la carpeta.
[TIP] Si te da miedo borrar archivos, renombra la carpeta var/cache a var/cache_old y crea una nueva carpeta vacía llamada cache. PrestaShop la volverá a llenar automáticamente. Luego puedes borrar la carpeta _old.
Paso 5: Aumentar el límite de memoria de PHP
Este es un clásico. Si tu tienda tiene muchos productos, módulos o un tema pesado, puede quedarse sin memoria. El error típico es: Fatal error: Allowed memory size of X bytes exhausted.
### Cómo aumentar la memoria
- Busca el archivo
php.inien la raíz de tu servidor. Si no existe, créalo. - Dentro, escribe o modifica la línea:
memory_limit = 256M(puedes probar con512Msi el problema continúa). - Guarda el archivo.
Si no puedes crear un php.ini o no funciona, puedes intentar hacerlo desde el archivo .htaccess añadiendo esta línea al final:
php_value memory_limit 256M
Y si nada de esto funciona, contacta con tu proveedor de hosting (Syspanel ayuda con esto) para que ajusten el límite de memoria desde el servidor, ya que a veces está bloqueado a nivel de configuración general.
Paso 6: Desactivar módulos conflictivos (El "modo seguro")
A veces, un módulo recién instalado o actualizado es el culpable. Para probarlo, necesitamos desactivarlos todos.
### Cómo desactivar módulos sin entrar al panel
Si el error te impide entrar al panel de administración, lo haremos por base de datos. No te asustes, es más fácil de lo que parece.
-
Entra a phpMyAdmin desde tu panel de hosting (Syspanel lo tiene en su sección de bases de datos).
-
Selecciona la base de datos de tu PrestaShop.
-
Ve a la pestaña SQL.
-
Ejecuta esta consulta SQL para desactivar todos los módulos:
UPDATE ps_modules SET active = 0 WHERE active = 1;(Si tu prefijo de base de datos no es
ps_, cámbialo por el tuyo, por ejemploprestashop_modules). -
Esto desactivará todo. Ahora, prueba a cargar tu tienda. Si funciona, el problema es un módulo.
-
Para volver a activarlos uno a uno, ve al panel de administración (si ya puedes entrar) y actívalos desde el menú de Módulos. Si no puedes entrar, ejecuta la consulta inversa para activarlos todos:
UPDATE ps_modules SET active = 1 WHERE active = 0;Y luego activa los módulos por lotes pequeños desde el panel para encontrar al culpable.
Paso 7: Verificar el archivo de configuración de la base de datos
Si el error menciona algo sobre la base de datos, el problema puede estar en los archivos de configuración.
- En PrestaShop 1.6 y anteriores:
config/settings.inc.php - En PrestaShop 1.7 y 8:
app/config/parameters.php
### Qué revisar
- Ábrelos con el editor de texto.
- Verifica que los datos de conexión (nombre de la base de datos, usuario, contraseña y prefijo) sean correctos. A veces, al cambiar de hosting, estos datos no se actualizan.
- Si no estás seguro de cuáles son, contacta con tu soporte de hosting para que te los confirme.
Paso 8: Probar con un tema por defecto
Si tu tema personalizado está dando problemas, una forma rápida de comprobarlo es cambiarlo temporalmente.
- Ve a tu panel de administración (si puedes entrar) y en Diseño > Tema y logotipo, cambia a un tema por defecto como "classic" (en PrestaShop 1.7+) o "default-bootstrap" (en 1.6).
- Si no puedes entrar al panel, tendrás que cambiar el tema desde la base de datos. En la tabla
ps_theme, modifica el campodirectoryal nombre del tema por defecto.
[WARNING] Este método es más técnico. Si no te sientes cómodo, es mejor que pidas ayuda a tu soporte técnico para no romper nada más.
Preguntas frecuentes (FAQ) sobre el error 500
### ¿Puedo perder mis productos si tengo un error 500?
No. El error 500 es un problema del servidor o de los archivos de configuración, no de tu base de datos. Tus productos, pedidos y clientes están a salvo en la base de datos.
### ¿Cuánto tiempo se tarda en arreglar este error?
Depende de la causa. Si es el .htaccess, en 5 minutos lo tienes. Si es un módulo conflictivo, puede llevarte 30 minutos de prueba y error. Si es un problema del servidor, tendrás que esperar a que tu proveedor de hosting (Syspanel) lo solucione.
### ¿Por qué veo el error 500 solo en el panel de administración?
Esto suele indicar un problema con un módulo de administración o con la caché de Smarty en el back-office. Prueba a limpiar la caché como te explicamos en el Paso 4.
### ¿Qué hago si después de todos estos pasos el error persiste?
Si has seguido todos los pasos y nada funciona, es hora de contactar con tu proveedor de hosting. Diles que has probado a regenerar el .htaccess, limpiar la caché y aumentar la memoria. Ellos tendrán acceso a los logs del servidor para ver el error exacto.
[INFO] En Syspanel, puedes abrir un ticket de soporte directamente desde tu panel de control (puerto 2106). Adjunta una captura del error y los pasos que ya has seguido.
Conclusión: La paciencia es tu mejor aliada
Solucionar error 500 en PrestaShop puede ser frustrante, pero con esta guía práctica tienes un camino claro a seguir. Recuerda: activa el modo depuración para obtener información, revisa el .htaccess, los permisos, la caché y la memoria. La mayoría de las veces, el problema se resuelve en los primeros pasos.
No te desesperes y ve con calma. Cada paso que das es una posibilidad de encontrar la solución. Y si te quedas atascado, no dudes en pedir ayuda a tu comunidad o a tu soporte de hosting. Al final, tu tienda volverá a estar operativa y habrás aprendido un montón sobre cómo funciona por dentro. ¡Mucho ánimo!
