Cómo solucionar el error 500 en PrestaShop: Guía para DirectAdmin y Syspanel
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 PrestaShop es uno de los avisos más temidos por cualquier persona que tenga una tienda online. Cuando lo ves, la pantalla se queda en blanco, sin explicación, y los clientes no pueden comprar. La buena noticia es que, en la mayoría de los casos, tiene solución y no implica perder tus datos ni tu catálogo.
Este error, también conocido como "Internal Server Error", es una respuesta genérica del servidor. Básicamente, significa que algo falló en el servidor, pero el servidor no te dice exactamente qué. Por eso, para solucionar error 500 PrestaShop, necesitas investigar un poco. No te preocupes: te voy a guiar paso a paso, pensando en que lo haces desde DirectAdmin o desde Syspanel (antes conocido como HestiaCP, que se accede por el puerto 2106).
Vamos a ver las causas más comunes y cómo atacarlas sin necesidad de ser un experto en programación.
Antes de empezar: haz una copia de seguridad
[WARNING] Este paso es obligatorio. Cualquier cambio que hagas en archivos o base de datos puede empeorar las cosas si no tienes un respaldo. Haz una copia de seguridad completa de tu tienda (archivos y base de datos) desde el panel de control antes de continuar.
En DirectAdmin, ve a la sección "Backup" y genera un backup completo. En Syspanel, busca la opción "Backup" en el menú lateral y crea una copia de seguridad manual. Si no sabes hacerlo, pausa este tutorial y primero aprende a hacer un backup, porque es tu red de seguridad.
Paso 1: Activa el modo depuración de PrestaShop
El primer paso para solucionar error 500 PrestaShop es hacer que PrestaShop te muestre el error real en lugar de una página en blanco. Para ello, tienes que activar el modo depuración (debug mode).
¿Cómo activar el modo depuración?
- Accede a tu panel de control (DirectAdmin o Syspanel) y abre el "Administrador de archivos".
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_htmlodomains/tudominio.com/public_html). - Busca el archivo llamado
config/defines.inc.php. - Ábrelo con el editor de texto del panel (clic derecho → "Editar").
- Busca la línea que dice
define('_PS_MODE_DEV_', false);. - Cambia
falseportruey guarda el archivo.
Una vez hecho esto, recarga tu tienda. Ahora verás un mensaje de error mucho más detallado, con un número de línea y un archivo. Eso te dirá exactamente qué está fallando. Si el error sigue siendo genérico, pasa al siguiente paso.
Paso 2: Revisa los permisos de archivos y carpetas
Los permisos incorrectos son una de las causas más comunes del error 500 PrestaShop. Si un archivo no se puede leer o ejecutar, el servidor lanza este error.
¿Qué permisos debe tener PrestaShop?
- Carpetas: deben tener permiso
755. - Archivos: deben tener permiso
644. - La carpeta
configy el archivosettings.inc.php: a veces necesitan755y644respectivamente, pero en algunos servidores se usa777temporalmente para que PrestaShop pueda escribir la configuración.
Cómo cambiar permisos en DirectAdmin
- Ve al "Administrador de archivos".
- Selecciona todos los archivos y carpetas de tu tienda.
- Haz clic en "Cambiar permisos" en la barra superior.
- Aplica
755para carpetas y644para archivos. DirectAdmin te permite hacerlo por separado.
Cómo cambiar permisos en Syspanel
- Entra en el "Administrador de archivos".
- Selecciona todo el contenido de tu tienda.
- Haz clic en "Permisos" y elige
755para carpetas y644para archivos.
[TIP] Si después de esto el error persiste, prueba a darle permisos 755 al archivo config/settings.inc.php (o config/parameters.php en versiones modernas) y 777 a la carpeta cache durante unos minutos. Luego vuelve a ponerlos en 644 y 755.
Paso 3: Comprueba el archivo .htaccess
El archivo .htaccess de PrestaShop es un archivo de configuración que controla las URL amigables, redirecciones y reglas de acceso. Si está dañado o mal configurado, puede provocar un error 500 PrestaShop.
Solución rápida: regenerar el .htaccess
- Entra al "Administrador de archivos".
- Busca el archivo
.htaccessen la raíz de tu tienda. - Si lo encuentras, renómbralo a
.htaccess_old(esto lo desactiva). - Ve al panel de administración de PrestaShop (intenta acceder a
/admin). - Ve a "Parámetros avanzados" → "SEO y URLs".
- Guarda la página aunque no hayas cambiado nada. Esto regenerará el
.htaccess.
Si no puedes acceder al panel de administración, crea un archivo .htaccess nuevo con el siguiente contenido básico:
# START PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . - [L]
</IfModule>
# END PrestaShop
Guárdalo y prueba de nuevo.
Paso 4: Revisa el registro de errores del servidor
Tanto DirectAdmin como Syspanel guardan registros de errores. Ahí verás el error exacto que está generando el problema.
En DirectAdmin
- Ve a "Logs" o "Registros" en el panel.
- Busca el "Error Log" de tu dominio.
- Ábrelo y busca las últimas líneas. Deberían aparecer errores con la palabra "PHP" o "Fatal".
En Syspanel
- Ve a "Dominios" → "Registros" o "Logs".
- Busca el log de errores de tu sitio.
- Revisa las últimas entradas.
[INFO] Si no sabes interpretar el log, copia el texto del error y búscalo en Google. Casi siempre alguien más ha tenido el mismo problema y hay una solución publicada.
Paso 5: Aumenta el límite de memoria PHP
Muchas veces, el error 500 PrestaShop aparece porque el script necesita más memoria de la que el servidor le permite. Esto es muy común en tiendas grandes o con muchos módulos.
Cómo aumentar la memoria PHP
- En el "Administrador de archivos", busca el archivo
php.inien la raíz de tu tienda. Si no existe, créalo. - Dentro de ese archivo, añade o modifica esta línea:
memory_limit = 256M
- Guarda el archivo.
Si no funciona, también puedes intentar modificar el archivo .htaccess añadiendo esta línea al principio:
php_value memory_limit 256M
[TIP] Si el problema persiste, prueba con 512M. Pero no subas demasiado el límite, porque puede afectar al rendimiento del servidor.
Paso 6: Desactiva módulos recientes
Un módulo mal configurado o incompatible puede ser el culpable del error. Si recuerdas haber instalado o actualizado un módulo justo antes de que apareciera el problema, ese es el sospechoso principal.
Cómo desactivar módulos sin entrar al panel
- Ve al "Administrador de archivos".
- Busca la carpeta
modules. - Renombra la carpeta del módulo sospechoso añadiendo un guion bajo al principio (por ejemplo,
_nombre_modulo). - Prueba a cargar tu tienda.
Si el error desaparece, ese módulo era el problema. Puedes actualizarlo o buscar una alternativa.
Paso 7: Verifica la base de datos
A veces el error no está en los archivos, sino en la base de datos. Una tabla corrupta o una consulta fallida puede provocar el error.
Cómo comprobar la base de datos
- Entra a phpMyAdmin desde tu panel (DirectAdmin o Syspanel).
- Selecciona la base de datos de PrestaShop.
- Haz clic en la pestaña "Operaciones" o "Reparar".
- Marca todas las tablas y elige "Reparar" en el menú desplegable.
[WARNING] No toques nada más en phpMyAdmin si no sabes lo que haces. Una modificación incorrecta puede borrar datos importantes.
Paso 8: Revisa la versión de PHP
PrestaShop es muy sensible a la versión de PHP. Si tu servidor usa una versión demasiado nueva o demasiado antigua, puede dar error.
Cómo cambiar la versión de PHP
- En DirectAdmin: ve a "Administrar PHP" o "PHP Settings". Elige una versión compatible con tu PrestaShop (por ejemplo, 7.4 u 8.1).
- En Syspanel: ve a "PHP" o "Versiones de PHP" y selecciona la versión deseada.
[INFO] Las versiones antiguas de PrestaShop (antes de la 1.7.8) no funcionan bien con PHP 8.0 o superior. Si tu tienda es antigua, usa PHP 7.4.
Paso 9: Contacta con tu proveedor de hosting
Si has seguido todos los pasos y el error 500 PrestaShop sigue ahí, es hora de pedir ayuda profesional. Puede ser un problema del servidor (por ejemplo, un módulo de seguridad bloqueando algo, o un límite de recursos).
Cuando contactes con tu proveedor, explica todo lo que has hecho y pega el error exacto que ves en el modo depuración o en el log. Eso les ayudará a resolverlo más rápido.
Preguntas frecuentes (FAQ)
¿El error 500 significa que he perdido mi tienda?
No. El error 500 es un problema temporal. Tus datos, productos y pedidos siguen en el servidor. Solo necesitas encontrar la causa y solucionarla.
¿Puedo solucionar el error 500 sin entrar al panel de administración?
Sí, todos los pasos que te he explicado se pueden hacer desde el panel de control (DirectAdmin o Syspanel), sin necesidad de acceder a la tienda.
¿Cuánto tiempo tarda en solucionarse?
Depende de la causa. Si es un problema de permisos, en 5 minutos lo tienes. Si es un módulo conflictivo, puede llevarte 30 minutos. Si es algo del servidor, puede tardar más.
¿Qué es Syspanel?
Syspanel es el nuevo nombre de HestiaCP, un panel de control de hosting. Se accede a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Si tu hosting usa Syspanel, los pasos son los mismos que para DirectAdmin, solo cambia la interfaz.
Resumen rápido para solucionar el error 500 en PrestaShop
- Activa el modo depuración para ver el error exacto.
- Revisa los permisos de archivos y carpetas (755 carpetas, 644 archivos).
- Regenera el archivo
.htaccess. - Consulta el registro de errores del servidor.
- Aumenta el límite de memoria PHP.
- Desactiva módulos recientes.
- Repara la base de datos con phpMyAdmin.
- Cambia la versión de PHP si es necesario.
- Contacta con tu hosting si nada funciona.
[TIP] No hagas varios cambios a la vez. Ve paso a paso y prueba la tienda después de cada uno. Así sabrás exactamente qué solucionó el problema.
Conclusión
El error 500 PrestaShop es molesto, pero casi siempre tiene solución. Con esta guía para DirectAdmin y Syspanel, tienes las herramientas para diagnosticarlo y arreglarlo tú mismo. Recuerda siempre hacer una copia de seguridad antes de tocar nada y no tengas miedo de pedir ayuda a tu proveedor de hosting si te quedas atascado.
La paciencia es tu mejor aliada. Ve paso a paso, y en poco tiempo tu tienda volverá a estar online. ¡Mucho ánimo!
