Cómo arreglar el error 500 en PrestaShop con cPanel
¿Te ha aparecido un mensaje de "Internal Server Error" o un error 500 en tu tienda PrestaShop? No te preocupes, es uno de los errores más comunes y, en la mayoría de los casos, se puede solucionar en pocos minutos siguiendo una serie de pasos lógicos. Este error significa que algo falló en el servidor, pero no te dice exactamente qué es. Por eso, vamos a ir por partes, de lo más simple a lo más complejo, para que puedas solucionar el error 500 en PrestaShop sin necesidad de ser un experto en programación.
Aquí tienes una guía completa, paso a paso, usando cPanel, que es el panel de control más habitual en el hosting compartido. Vamos a desglosar todas las causas posibles y sus soluciones.
¿Por qué aparece el error 500 en PrestaShop?
Antes de empezar a tocar nada, es útil entender qué lo causa. El error 500 prestashop (o "Internal Server Error") es una respuesta genérica del servidor. Básicamente, le está diciendo a tu navegador: "He intentado ejecutar la página, pero algo ha salido mal y no puedo continuar".
Las causas más frecuentes suelen ser:
- Permisos de archivos incorrectos: Archivos que deberían ser legibles y ejecutables no lo son, o viceversa.
- Un archivo
.htaccesscorrupto: Este archivo es como el "manual de instrucciones" del servidor para tu tienda. Si tiene una línea errónea, todo falla. - Límite de memoria PHP agotado: Tu tienda necesita más memoria de la que el servidor le permite usar.
- Un módulo o plugin recién instalado que da error: A veces, una actualización o un módulo incompatible rompe la web.
- Errores de sintaxis en archivos de configuración: Como
settings.inc.phpoconfig.inc.php.
Vamos a atacar cada una de estas causas. No necesitas hacer todos los pasos, solo ve probando hasta que la tienda vuelva a funcionar. Te recomiendo ir en el orden que te presento.
Paso 1: La solución más rápida (y casi mágica): Revisar el archivo .htaccess
El archivo .htaccess es el primer sospechoso. Es un archivo de texto oculto que controla la configuración del servidor para tu tienda. Si se corrompe (por ejemplo, al instalar un módulo), PrestaShop deja de funcionar.
¿Cómo lo arreglo?
No necesitas crearlo desde cero. PrestaShop puede regenerarlo automáticamente. Solo tienes que renombrarlo para que el sistema lo cree de nuevo.
- Entra a tu cPanel: Accede con tus credenciales (normalmente en
tudominio.com/cpanel). - Busca el "Administrador de archivos" (File Manager). Normalmente está en la sección "Archivos".
- Navega a la raíz de tu tienda: Generalmente es
public_htmlo una carpeta dentro de esta (por ejemplo,public_html/tienda). - Activa la opción de "Mostrar archivos ocultos": En la esquina superior derecha del Administrador de Archivos, hay un botón llamado "Configuración" o "Settings". Márcalo para ver los archivos que empiezan por un punto (
.). - Busca el archivo
.htaccess: Una vez visible, haz clic derecho sobre él y selecciona "Renombrar". - Cámbiale el nombre a algo como
.htaccess_oldo.htaccess.bak. Esto lo "desactiva" sin borrarlo. - Vuelve a tu tienda: Intenta cargar la página principal.
Si esto lo soluciona, verás que PrestaShop crea un archivo .htaccess nuevo automáticamente.
[TIP]
Si no se regenera solo, ve a la configuración de PrestaShop en el panel de administración (si es que puedes acceder) y en "Parámetros avanzados > Rendimiento" pulsa el botón para regenerar el archivo.htaccess.
Paso 2: Revisar los permisos de archivos y carpetas
Si el paso anterior no funcionó, el problema puede ser que los permisos de tus archivos estén mal configurados. Un permiso demasiado restrictivo impide que el servidor lea los archivos; uno demasiado permisivo es un riesgo de seguridad que muchos hosts bloquean automáticamente.
¿Qué permisos son los correctos?
- Carpetas (directorios): Deben tener permiso 755.
- Archivos: Deben tener permiso 644.
¿Cómo se cambia?
- Sigue en el "Administrador de archivos" de cPanel.
- Selecciona todo (Ctrl+A o botón "Seleccionar todo").
- Haz clic derecho y elige "Permisos" o "Change Permissions".
- Verás una ventana con casillas. Para las carpetas, asegúrate de que las casillas estén así:
- Propietario (Owner): Leer (Read) y Ejecutar (Execute) marcados. Escribir (Write) desmarcado.
- Grupo (Group): Leer y Ejecutar marcados. Escribir desmarcado.
- Público (Public): Leer y Ejecutar marcados. Escribir desmarcado.
- El valor numérico debe ser 755.
- Para los archivos, el valor numérico debe ser 644. Es decir:
- Propietario: Leer y Escribir marcados. Ejecutar desmarcado.
- Grupo: Leer marcado. Escribir y Ejecutar desmarcados.
- Público: Leer marcado. Escribir y Ejecutar desmarcados.
[WARNING]
No cambies los permisos de la carpetavar/cacheocachea 777 (todos los permisos). Aunque a veces se recomienda para forzar la limpieza de caché, es un peligro de seguridad. Si tu host lo bloquea, te dará el error 500. Es mejor usar la opción de "Forzar compilación" que te explico más abajo.
Paso 3: Aumentar el límite de memoria PHP
PrestaShop es una plataforma que consume muchos recursos, especialmente en el panel de administración o al generar páginas con muchos productos. Si el límite de memoria es muy bajo, el servidor aborta la ejecución y te muestra el error 500.
¿Cómo aumentar el límite de memoria?
Tienes dos opciones: desde cPanel o editando un archivo.
Opción A: Desde el "Selector de versión de PHP"
- En cPanel, busca la sección "Software" y haz clic en "Select PHP Version" o "Selector de versión de PHP".
- Se abrirá una nueva ventana. Haz clic en la pestaña "Opciones" o "Options".
- Busca la línea
memory_limit(límite de memoria). - Cambia el valor a
512Mo incluso756Msi tu hosting lo permite. - Haz clic en "Guardar" o "Apply".
Opción B: Editando el archivo php.ini
Si no encuentras la opción anterior, puedes crear o editar un archivo php.ini en la raíz de tu tienda.
- Ve al "Administrador de archivos" y entra en
public_html(o donde tengas la tienda). - Crea un nuevo archivo llamado
php.ini(si no existe). - Haz clic en "Editar" y pega este código:
memory_limit = 512M
max_execution_time = 180
max_input_time = 180
post_max_size = 64M
upload_max_filesize = 64M
- Guarda los cambios.
[INFO]
A veces, el hosting no permite modificarphp.inidesde el File Manager. En ese caso, la Opción A (desde el selector de PHP) es la más fiable.
Paso 4: Limpiar la caché de PrestaShop
PrestaShop guarda archivos temporales (caché) para que tu web cargue más rápido. Pero a veces, esa caché se corrompe y provoca el error 500. Es como si tu coche tuviera el mapa antiguo y se perdiera.
¿Cómo limpiar la caché manualmente?
- Ve a la carpeta
var/cache(en PrestaShop 1.7 y 1.8) ocache(en versiones antiguas) dentro de tu tienda. - Dentro, verás subcarpetas con nombres como
devoprod, y dentro de ellas, archivos con hash (nombres raros). Borra el contenido de estas carpetas, pero no las carpetas en sí. Es decir, entra envar/cache/prody borra todos los archivos que hay dentro. - Si no puedes borrarlos, renómbralos (por ejemplo,
prod_old).
La alternativa "Forzar compilación" (más segura)
Si no quieres borrar archivos a mano, puedes hacerlo desde el panel de administración, pero si tienes el error 500, será difícil acceder. Si logras entrar:
- Ve a "Parámetros avanzados" > "Rendimiento".
- Activa la opción "Forzar la compilación" (Force Compile) en la parte de "Plantillas".
- Guarda los cambios.
- Desactiva la opción y vuelve a guardar. Esto regenera la caché limpia.
Paso 5: Revisar los logs de error del servidor
Si has llegado hasta aquí y nada funciona, necesitas ver el mensaje de error exacto. El servidor guarda un registro de lo que falla. Es como el "diario de a bordo" del avión.
¿Dónde están los logs en cPanel?
- En cPanel, busca la sección "Métricas" y haz clic en "Errores" o "Error Log".
- Se abrirá una página con una lista de errores recientes. Busca los que tengan la fecha y hora en la que empezó el problema.
- Busca líneas que mencionen tu carpeta de PrestaShop (ej:
public_html/tienda).
¿Qué busco en los logs?
Busca palabras clave como "PHP Fatal error" (error fatal de PHP), "Allowed memory size exhausted" (tamaño de memoria agotado) o "Uncaught exception" (excepción no capturada). El mensaje te dirá exactamente qué archivo y línea está fallando.
Por ejemplo, si dice require_once(): Failed opening required '.../config/autoload.php', significa que falta un archivo o que la ruta es incorrecta.
Paso 6: Desactivar un módulo problemático
Imagina que el error empezó justo después de instalar o actualizar un módulo. Ese módulo es el culpable. El problema es que no puedes desactivarlo desde el panel porque la web está rota.
¿Cómo desactivar un módulo sin acceso al panel?
- Accede a la base de datos: En cPanel, busca "phpMyAdmin".
- Selecciona la base de datos de tu PrestaShop (la que uses para la tienda).
- Busca la tabla
ps_module(el prefijops_puede variar si lo cambiaste al instalar). - Haz clic en la pestaña "Buscar" (Search) o "Examinar" (Browse).
- Busca el módulo que crees que causa el problema. Puedes ordenar por la columna
date_add(fecha de instalación) para ver los más recientes. - Haz clic en "Editar" (el lápiz) en la fila del módulo.
- Cambia el valor de la columna
activede1a0. - Guarda los cambios.
[WARNING]
Ten mucho cuidado al tocar la base de datos. No borres nada, solo cambia el valoractivea0. Si te equivocas de módulo, la web seguirá rota, pero no la dañarás permanentemente.
Paso 7: Revisar los archivos de configuración
Si el log te indica un error en settings.inc.php o config.inc.php, puede que la ruta a la base de datos o las credenciales estén mal.
- Ve al archivo
config/settings.inc.php(PrestaShop 1.6) oapp/config/parameters.php(PrestaShop 1.7+). - Ábrelo con el editor de cPanel.
- Verifica que los valores de
database_host,database_name,database_userydatabase_passwordsean correctos.
A veces, al cambiar de servidor, la contraseña de la base de datos cambia y nadie actualiza este archivo.
Preguntas Frecuentes (FAQ)
¿Qué es el error 500 en PrestaShop?
Es un error genérico del servidor que indica que algo falló en la ejecución de tu tienda, pero sin dar detalles específicos al usuario. Es un problema del lado del servidor, no de tu navegador.
¿Cuánto tiempo se tarda en arreglar el error 500?
Depende de la causa. Si es el .htaccess, son 2 minutos. Si es un módulo, puede llevar 15 minutos. Si es un problema del servidor del hosting, tendrás que contactar con ellos.
¿Perderé mis productos o clientes si sigo estos pasos?
No. Ninguno de estos pasos borra tu base de datos (productos, pedidos, clientes). Solo tocan archivos de configuración y caché. Es seguro.
¿Qué hago si nada de esto funciona?
Si has probado todos los pasos y el prestashop error 500 cpanel persiste, el problema puede ser del servidor en sí (por ejemplo, un fallo en el disco o en la configuración global de PHP). Te recomiendo abrir un ticket de soporte con tu proveedor de hosting, indicándoles que ya has verificado permisos, .htaccess y límite de memoria. Dales el código del error que encontraste en el log; eso les acelerará el diagnóstico.
¿Es lo mismo el error 500 que el error 503?
No. El error 503 indica que el servidor está en mantenimiento o sobrecargado. El error 500 es un fallo interno en la ejecución. Las soluciones son diferentes.
Espero que esta guía te haya sido de ayuda. Recuerda, la paciencia es clave. Ve paso a paso, sin prisas, y sobre todo, haz siempre una copia de seguridad de tu tienda antes de empezar a modificar archivos o la base de datos. ¡Buena suerte con tu tienda!
