Solucionar el error 500 de PrestaShop en DirectAdmin
¿Qué significa el error 500 de PrestaShop en DirectAdmin?
Cuando intentas acceder a tu tienda online y aparece un mensaje como "500 Internal Server Error", "Error 500" o una página en blanco, significa que el servidor no puede procesar la solicitud. Es un error genérico que no te dice exactamente qué falla, pero no te preocupes: en la mayoría de los casos tiene solución y puedes arreglarlo tú mismo siguiendo una serie de pasos lógicos.
El error 500 PrestaShop DirectAdmin es uno de los problemas más comunes que sufren los propietarios de tiendas online. Puede aparecer de repente, tras una actualización, al instalar un módulo nuevo, o incluso sin haber tocado nada. La buena noticia es que, en el 90% de las ocasiones, la causa está en los permisos de archivos, en el archivo .htaccess o en la configuración de PHP.
A lo largo de esta guía extensa, te voy a explicar paso a paso cómo solucionar el error 500 en tu PrestaShop alojado en un panel de control DirectAdmin. No necesitas ser un experto en programación, solo seguir las instrucciones en orden y con paciencia.
Paso 1: Identificar el origen del problema
Antes de tocar nada, es fundamental saber si el error afecta a toda la tienda o solo a una parte. Esto te dará pistas sobre la causa.
Comprueba si el error es general o parcial
- Error en toda la tienda (front office y back office): suele indicar un problema de permisos, de archivos corruptos o un fallo en la base de datos.
- Error solo en el panel de administración: puede deberse a un módulo mal instalado o a un problema de sesión.
- Error solo en algunas páginas: suele estar relacionado con una plantilla o un módulo concreto.
- Error tras una actualización: casi siempre es un conflicto de caché o de permisos.
Activa el modo de depuración de PrestaShop
Para ver el error real, necesitas activar el modo de desarrollo. Accede por FTP a tu hosting y busca el archivo config/defines.inc.php. Dentro, cambia la línea que dice:
define('_PS_MODE_DEV_', false);
Por:
define('_PS_MODE_DEV_', true);
Guarda el archivo y recarga la página. Ahora verás un mensaje de error detallado con la línea exacta del problema. Si no aparece nada, revisa el archivo var/logs/ de tu PrestaShop, donde se guardan los registros.
[INFO] Después de diagnosticar, vuelve a poner
_PS_MODE_DEV_enfalsepara no exponer información sensible en producción.
Paso 2: Revisar los permisos de archivos y carpetas
La causa número uno del PrestaShop error 500 en DirectAdmin son los permisos incorrectos. PrestaShop necesita permisos específicos para leer y escribir archivos.
Permisos correctos para PrestaShop
- Carpetas: deben tener permiso
755(rwxr-xr-x). - Archivos: deben tener permiso
644(rw-r--r--). - Archivos de configuración (como
config/settings.inc.php): pueden necesitar644o incluso444en producción.
Cómo cambiar permisos desde DirectAdmin
- Entra en tu panel de DirectAdmin.
- Ve a Administrador de archivos (File Manager).
- Selecciona la carpeta raíz de tu tienda (normalmente
domains/tudominio.com/public_html). - Marca todos los archivos y carpetas.
- Haz clic en Cambiar permisos y establece
755para carpetas y644para archivos.
Si usas FTP, puedes hacerlo con FileZilla: clic derecho sobre la carpeta raíz, Permisos de archivos, y marca las casillas correspondientes.
[WARNING] No pongas permisos
777a todo. Es un riesgo de seguridad grave y muchos servidores lo bloquean automáticamente.
Paso 3: Regenerar el archivo .htaccess
El archivo .htaccess es el encargado de las reglas de reescritura de URL en PrestaShop. Si está corrupto o mal configurado, provoca un DirectAdmin error 500 inmediato.
Solución rápida: renombrar el archivo
- Accede por FTP o File Manager a la raíz de tu tienda.
- Busca el archivo
.htaccess(puede estar oculto, activa la opción de mostrar archivos ocultos). - Cámbiale el nombre a
.htaccess_oldo descárgalo como copia de seguridad. - Ve a tu back office de PrestaShop (si puedes acceder) y ve a Parámetros avanzados > Rendimiento.
- Activa la opción Regenerar el archivo .htaccess y guarda.
Si no puedes acceder al back office, crea un archivo .htaccess vacío con permisos 644 y deja que PrestaShop lo regenere automáticamente al siguiente intento de acceso.
[TIP] Antes de borrar nada, guarda siempre una copia del
.htaccessoriginal. Si el problema es otro, podrás restaurarlo.
Paso 4: Comprobar la versión de PHP y la configuración
DirectAdmin permite cambiar la versión de PHP por dominio. PrestaShop es muy sensible a esto: si usas una versión demasiado nueva o demasiado antigua, es normal que aparezca el error 500 PrestaShop DirectAdmin.
Versiones recomendadas
- PrestaShop 1.7 y 8.x: PHP 7.4, 8.0 o 8.1 (idealmente 8.0).
- PrestaShop 1.6: PHP 5.6 o 7.0 (no superior a 7.2).
Cómo cambiar la versión de PHP en DirectAdmin
- Entra en DirectAdmin.
- Ve a Configuración del dominio (o "Domain Setup").
- Busca la opción PHP Version Selector.
- Elige la versión recomendada y guarda.
Si el error persiste, prueba a subir la memoria límite de PHP. En DirectAdmin, ve a Configuración de PHP y aumenta memory_limit a 256M o 512M. También es recomendable subir max_execution_time a 120 segundos.
[WARNING] Si cambias de PHP 5.6 a 8.0 directamente, es posible que muchos módulos antiguos dejen de funcionar. Hazlo con cuidado y haz una copia de seguridad antes.
Paso 5: Revisar la caché de PrestaShop
La caché corrupta es otro desencadenante clásico del PrestaShop error 500. Cuando PrestaShop guarda archivos de caché y estos se dañan, la tienda puede quedar inaccesible.
Limpiar la caché manualmente
- Accede por FTP a la raíz de tu tienda.
- Elimina el contenido de las carpetas:
var/cache/(en PrestaShop 1.7 y 8).cache/(en PrestaShop 1.6).var/logs/(opcional, pero ayuda).
No borres las carpetas en sí, solo su contenido.
Desactivar la caché desde el back office
Si tienes acceso, ve a Parámetros avanzados > Rendimiento y pon la opción de Caché en No. También puedes forzar la compilación de plantillas en Sí temporalmente para regenerar los archivos.
[TIP] Después de limpiar la caché, espera unos minutos antes de recargar la página. A veces el servidor tarda en regenerar los archivos.
Paso 6: Revisar el espacio en disco y la cuota
Un error poco conocido pero muy frecuente es la falta de espacio en disco. Si tu cuenta de hosting está al límite, DirectAdmin bloquea la escritura y PrestaShop no puede generar archivos temporales, lo que provoca un DirectAdmin error 500.
Cómo comprobar el espacio
- En DirectAdmin, ve a Resumen de cuenta o Estadísticas.
- Revisa el uso de disco de tu dominio.
- Si está al 95% o más, elimina archivos temporales, copias de seguridad antiguas o logs.
También puedes revisar la carpeta admin/autoupgrade (si existe) que a veces acumula archivos pesados de actualizaciones.
[INFO] Un hosting con poco espacio es un problema de base. Si es tu caso, plantéate ampliar el plan o limpiar archivos innecesarios.
Paso 7: Desactivar módulos conflictivos
Si el error solo aparece al acceder a ciertas páginas o al hacer clic en un botón, es muy probable que un módulo esté causando el conflicto.
Cómo desactivar módulos sin acceso al back office
Si no puedes entrar al panel de administración, usa phpMyAdmin:
- Entra en phpMyAdmin desde DirectAdmin.
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_module(el prefijo puede variar). - Cambia el valor de
activea0en los módulos que sospeches que causan el problema.
Otra opción es renombrar la carpeta del módulo desde FTP (por ejemplo, de ps_googleanalytics a ps_googleanalytics_old). PrestaShop lo desactivará automáticamente.
[WARNING] Si renombras un módulo que es esencial (como el de pago), la tienda puede quedar inoperativa. Hazlo solo con módulos de terceros o no críticos.
Paso 8: Reparar la base de datos
Una base de datos corrupta o con tablas dañadas también puede generar un error 500 PrestaShop DirectAdmin. PrestaShop necesita leer y escribir en la base de datos constantemente.
Reparar tablas desde phpMyAdmin
- Entra en phpMyAdmin.
- Selecciona tu base de datos.
- Marca todas las tablas (clic en "Marcar todo").
- En el menú desplegable, elige Reparar tabla.
Esto puede tardar unos minutos si la base de datos es grande. Si hay tablas que no se reparan, es recomendable restaurar una copia de seguridad reciente.
[TIP] Si no tienes copia de seguridad, contacta con tu proveedor de hosting. Muchos tienen copias automáticas diarias.
Paso 9: Verificar los archivos de PrestaShop
Si después de todo el error persiste, es posible que algún archivo del núcleo de PrestaShop esté dañado o incompleto. Esto suele pasar tras una actualización fallida o una subida de archivos incompleta.
Re-subir los archivos originales
- Descarga la versión exacta de PrestaShop que tienes instalada desde el sitio oficial.
- Descomprime en tu ordenador.
- Sube por FTP solo los archivos de la carpeta
classes,controllersyconfig(reemplazando los existentes).
Ten mucho cuidado de no sobrescribir la carpeta config con la de la descarga, ya que podría borrar tu configuración. Lo ideal es subir solo classes y controllers.
[WARNING] No subas la carpeta
installniadminde la descarga. Eso podría abrir un agujero de seguridad o resetear tu tienda.
Paso 10: Contactar con el soporte del hosting
Si has seguido todos los pasos y el error 500 PrestaShop DirectAdmin sigue ahí, es hora de pedir ayuda profesional. No te frustres: a veces el problema está en el servidor (como un módulo de Apache desactivado, un límite de memoria a nivel de servidor o un firewall bloqueando algo).
Qué información debes proporcionar
- Tu dominio y el panel de control (DirectAdmin).
- La versión exacta de PrestaShop y de PHP.
- Si has modificado algo recientemente (módulos, temas, actualizaciones).
- El mensaje de error exacto (si lo tienes con el modo debug activado).
- Los pasos que ya has probado.
Con esta información, el soporte técnico podrá revisar los logs del servidor y darte una solución en mucho menos tiempo.
Preguntas frecuentes (FAQ)
¿Por qué me aparece el error 500 después de mover mi tienda a otro hosting?
Es muy común. Al mover la tienda, los permisos, las rutas absolutas en el archivo config/settings.inc.php y la base de datos pueden quedar desincronizados. Revisa los pasos 2, 3 y 8 de esta guía.
¿Puede un plugin de caché causar el error 500 en DirectAdmin?
Sí, definitivamente. Las extensiones de caché como LiteSpeed Cache o los sistemas de caché internos de PrestaShop pueden generar archivos corruptos. Sigue el paso 5 para limpiar la caché.
¿Qué hago si no tengo acceso al back office ni a FTP?
Si no puedes entrar por FTP, tendrás que contactar sí o sí con tu proveedor de hosting. Ellos pueden acceder al servidor y arreglar los permisos o el .htaccess por ti.
¿El error 500 puede deberse a un ataque de hackers?
Es posible, aunque no es lo más común. Si sospechas que tu tienda ha sido comprometida, revisa los archivos modificados recientemente, busca código extraño en config/settings.inc.php y cambia todas las contraseñas. Un escáner de seguridad puede ayudarte.
¿Debo actualizar PrestaShop para solucionar el error?
No necesariamente. Actualizar a una versión superior puede empeorar las cosas si el problema es de permisos o de servidor. Primero intenta las soluciones básicas de esta guía, y solo plantéate actualizar si el error viene de un bug conocido en tu versión.
Conclusión y resumen
El error 500 PrestaShop DirectAdmin es un problema serio pero casi siempre solucionable. La clave está en ir descartando causas de forma ordenada:
- Activa el modo debug para ver el error real.
- Revisa los permisos de archivos y carpetas.
- Regenera el
.htaccess. - Ajusta la versión de PHP y los límites de memoria.
- Limpia la caché de PrestaShop.
- Comprueba el espacio en disco.
- Desactiva módulos conflictivos.
- Repara la base de datos.
- Re-subir archivos del núcleo.
- Contacta con el soporte si nada funciona.
No olvides hacer siempre una copia de seguridad antes de empezar a modificar nada. Y si en algún momento te sientes perdido, no dudes en pedir ayuda a un profesional o al soporte de tu hosting. Con paciencia y método, tu tienda volverá a estar online en poco tiempo.
[TIP] Guarda este artículo en favoritos. Te será útil cada vez que aparezca un error de este tipo, ya que las causas suelen repetirse en el tiempo.
