Cómo arreglar error 500 en PrestaShop con cPanel
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver uno de los problemas más comunes y frustrantes que puedes encontrar al gestionar tu tienda PrestaShop: el temido error 500. Este error indica un problema interno del servidor, pero no te preocupes, con esta guía paso a paso y usando cPanel, podrás diagnosticarlo y solucionarlo. Vamos a ello.
¿Qué es el error 500 en PrestaShop y por qué ocurre?
El error 500, o "Error Interno del Servidor", es una respuesta genérica que da el servidor cuando algo sale mal, pero no puede especificar exactamente qué. En PrestaShop, las causas más comunes son:
- Archivos .htaccess corruptos o mal configurados.
- Problemas de permisos de archivos y carpetas.
- Módulos o temas incompatibles o con errores.
- Límite de memoria de PHP (memory_limit) insuficiente.
- Errores en archivos de configuración (como settings.inc.php).
- Problemas con la versión de PHP.
No te asustes, la mayoría de estas causas tienen solución. Vamos a ver cómo arreglar error 500 PrestaShop paso a paso.
Diagnóstico inicial: Activar los logs de errores de PrestaShop
Antes de empezar a hacer cambios, es crucial saber qué está pasando. PrestaShop tiene un sistema de logs que, si está activado, te dará pistas muy valiosas.
Paso 1: Accede a tu cPanel y busca el gestor de archivos
- Inicia sesión en tu cPanel.
- Busca la sección Archivos y haz clic en Administrador de Archivos.
- Se abrirá una ventana. Selecciona la carpeta raíz de tu sitio web (normalmente
public_htmlo el nombre de tu dominio) y haz clic en Ir.
Paso 2: Localiza y edita el archivo config/defines.inc.php
Este archivo contiene variables de configuración de PrestaShop, incluyendo el modo de depuración.
-
Dentro del Administrador de Archivos, navega a la carpeta
config. -
Busca el archivo
defines.inc.php. Haz clic derecho sobre él y selecciona Editar. -
Verás un código PHP. Busca esta línea (normalmente está al principio):
define('_PS_MODE_DEV_', false);Cambia
falseatrue. Debería quedar así:define('_PS_MODE_DEV_', true); -
Importante: También busca y descomenta (elimina las dos barras
//al inicio) la siguiente línea, si es que está comentada:// define('_PS_MODE_DEV_', true);No debe haber dos líneas con
_PS_MODE_DEV_. Asegúrate de que solo una esté activa y con valortrue. -
Haz clic en Guardar cambios en la esquina superior derecha.
[WARNING] ¡Cuidado! Activar el modo desarrollo muestra información sensible de tu servidor. Solo haz esto para diagnosticar el error y, una vez solucionado, vuelve a poner
_PS_MODE_DEV_enfalse.
Paso 3: Vuelve a cargar tu tienda y observa el error
Ahora, al cargar tu página, en lugar del error 500 genérico, verás un mensaje de error más detallado. Puede ser algo como:
Fatal error: Allowed memory size of 134217728 bytes exhausted...(Problema de memoria).Parse error: syntax error, unexpected...(Error en un archivo PHP, normalmente de un módulo).Warning: require_once(...): failed to open stream...(Archivo faltante o problema de permisos).
Anota exactamente el mensaje de error. Eso te guiará directamente a la solución. Si no ves ningún error, el problema podría estar en el .htaccess.
Soluciones comunes para el error 500 en PrestaShop con cPanel
Ahora que tienes una pista (o si no la tienes, empezamos por lo más común), vamos a aplicar las soluciones.
Solución 1: Restaurar o regenerar el archivo .htaccess
El archivo .htaccess es el culpable más frecuente del error 500. Un pequeño error de sintaxis lo inutiliza.
- Haz una copia de seguridad: En el Administrador de Archivos, navega a la raíz de tu sitio (donde están las carpetas
admin,config,img, etc.). Busca el archivo.htaccess. Haz clic derecho y selecciona Copiar. Ponle un nombre como.htaccess.backup. - Renombra el archivo original: Haz clic derecho sobre
.htaccessy selecciona Cambiar nombre. Cámbialo a.htaccess_old. Esto desactivará temporalmente las reglas de PrestaShop. - Prueba tu tienda: Vuelve a cargar tu sitio. Si el error 500 desaparece, el problema está en ese archivo. Ahora tienes dos opciones:
-
Opción A (Recomendada): Regenerarlo desde el panel de administración de PrestaShop.
- Accede a tu back office de PrestaShop (si puedes, porque el error podría impedirlo).
- Ve a Configuración avanzada > Rendimiento.
- Haz clic en el botón Regenerar el archivo .htaccess (o similar).
-
Opción B (Manual): Si no puedes acceder al back office, puedes crear un
.htaccessbásico. Crea un nuevo archivo de texto, pégalo y guárdalo como.htaccess(sin extensión .txt).# START: configuración básica de PrestaShop <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> # END: configuración básica de PrestaShop[INFO] Este
.htaccesses muy básico y puede que no funcione con todas las configuraciones de servidor. La regeneración desde el back office es siempre la mejor opción.
-
Solución 2: Aumentar el límite de memoria de PHP
Si el error menciona memory size exhausted, necesitas darle más memoria a PHP.
- En cPanel, busca la sección Software y haz clic en Seleccionar versión de PHP (o MultiPHP Manager dependiendo de tu versión de cPanel).
- Se abrirá una ventana. Busca tu dominio en la lista.
- Haz clic en Cambiar a opciones avanzadas o en el icono de Editar (un lápiz o similar).
- Busca la opción
memory_limit. El valor por defecto suele ser128Mo256M. Cámbialo a512Mo incluso1024M(1GB). - Haz clic en Aplicar o Guardar.
[TIP] Si no encuentras la opción
memory_limit, puedes crearla manualmente. En la misma pantalla, busca un campo para añadir una nueva directiva. Escribememory_limity el valor512M.
Solución 3: Verificar y corregir permisos de archivos y carpetas
Los permisos incorrectos pueden impedir que PrestaShop lea o escriba archivos, causando el error 500.
-
En el Administrador de Archivos de cPanel, selecciona TODAS las carpetas y archivos de la raíz de tu sitio.
-
Haz clic en Permisos en la barra superior.
-
Se abrirá una ventana. Aplica la siguiente regla:
- Carpetas (directorios): Permisos
755(o750si tu servidor es más restrictivo). - Archivos: Permisos
644(o640). - Archivos especiales: El archivo
settings.inc.php(en la carpetaconfig) a veces necesita permisos777temporalmente para que PrestaShop pueda escribir en él. NO LO DEJES EN 777 PERMANENTEMENTE. Una vez solucionado el error, vuelve a ponerlo en644.
Para aplicar esto de forma masiva:
- Marca la casilla Recursivo para aplicar los cambios a todas las subcarpetas y archivos.
- En la sección Permisos, escribe
755para directorios y644para archivos. - Haz clic en Guardar.
- Carpetas (directorios): Permisos
Solución 4: Deshabilitar módulos o temas conflictivos (vía FTP o cPanel)
Si el error apareció después de instalar un módulo o cambiar de tema, ese es el probable culpable. La mejor forma de deshabilitarlo sin acceso al back office es renombrar la carpeta del módulo.
- En el Administrador de Archivos, navega a la carpeta
modulesde tu PrestaShop. - Busca la carpeta del módulo que sospechas que causa el problema.
- Haz clic derecho sobre ella y selecciona Cambiar nombre. Añade un sufijo como
_oldo_disabled. Por ejemplo,micromodulopasa a sermicromodulo_old. - Vuelve a cargar tu tienda. Si el error desaparece, ese módulo es el problema. Puedes eliminarlo o contactar al desarrollador.
Si no sabes qué módulo es, puedes renombrar la carpeta del tema por defecto (por ejemplo, themes/classic a themes/classic_old). PrestaShop suele intentar cargar el tema por defecto si no encuentra el activo.
Solución 5: Revisar el archivo settings.inc.php y la conexión a la base de datos
Un error en los datos de conexión a la base de datos también puede provocar un error 500.
- En el Administrador de Archivos, navega a la carpeta
config. - Abre el archivo
settings.inc.php. - Busca las líneas que comienzan con
define('_DB_SERVER_', ...),define('_DB_NAME_', ...),define('_DB_USER_', ...)ydefine('_DB_PASSWD_', ...). - Verifica que los valores (servidor, nombre de la base de datos, usuario y contraseña) sean correctos. Puedes encontrar esta información en la sección Bases de Datos de cPanel.
- Si algo está mal, corrígelo y guarda el archivo.
Solución 6: Cambiar la versión de PHP
A veces, un módulo o el propio PrestaShop no es compatible con la versión de PHP que tienes activada.
- En cPanel, ve a Seleccionar versión de PHP (o MultiPHP Manager).
- Verás la versión actual. Si es muy reciente (ej. PHP 8.2 o 8.3), prueba a cambiarla a una versión más estable y compatible con PrestaShop, como PHP 7.4 o PHP 8.1.
- Selecciona la nueva versión y haz clic en Aplicar.
- Prueba tu tienda.
[WARNING] Cambiar la versión de PHP puede afectar a otros sitios web en tu mismo plan de hosting. Asegúrate de que sea compatible con todos ellos.
¿Sigues con el error 500? Contacta al soporte
Si después de probar todas estas soluciones el error 500 persiste, el problema puede ser más complejo y estar relacionado con la configuración del servidor web (Apache, Nginx) o con un error de hardware. En ese caso:
- Revisa los logs de error del servidor: En cPanel, busca la sección Métricas y haz clic en Errores o Log de errores. Allí encontrarás mensajes más detallados del servidor.
- Contacta a tu proveedor de hosting: Ellos tienen acceso a los logs del servidor y pueden identificar el problema rápidamente. Explícales que ya has verificado los permisos, el
.htaccess, la memoria PHP y los módulos.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
¿El error 500 puede dañar mi base de datos?
No, el error 500 es un problema del servidor o de la aplicación, no de la base de datos. Tus productos, clientes y pedidos están a salvo.
¿Pierdo mis datos si renombro la carpeta de un módulo?
No, al renombrar la carpeta solo estás desactivando el módulo. Sus datos (configuraciones, tablas en la base de datos) permanecen intactos. Puedes volver a activarlo renombrándolo a su nombre original.
¿Cada cuánto debo hacer una copia de seguridad?
¡Siempre! Antes de hacer cualquier cambio importante (actualizar PrestaShop, instalar un módulo, modificar archivos), haz una copia de seguridad completa de tus archivos y base de datos. En cPanel, puedes usar la herramienta Copias de seguridad.
¿Qué hago si no puedo acceder al back office de PrestaShop?
No te preocupes. Todas las soluciones de esta guía se realizan directamente desde cPanel, sin necesidad de acceder al back office. Usa el Administrador de Archivos y el selector de versión de PHP.
¿Es seguro activar el modo desarrollo (PS_MODE_DEV)?
Solo es seguro para diagnosticar el error. Nunca lo dejes activado en una tienda en producción, ya que expone información sensible a los visitantes. Una vez solucionado, vuelve a ponerlo en false.
¡Y eso es todo! Espero que esta guía te haya sido de gran ayuda para arreglar error 500 PrestaShop. Recuerda, la paciencia y el método son clave. Si sigues estos pasos, lo más probable es que puedas recuperar tu tienda sin problemas. ¡Mucho éxito con tu negocio!
