Solucionar errores 500 en PrestaShop desde cPanel
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, seguramente te has topado con el temido error 500 en PrestaShop. No te preocupes, es más común de lo que crees y, con las herramientas adecuadas desde cPanel, podemos solucionarlo juntos, paso a paso. Este error, también conocido como "Error interno del servidor", es una forma que tiene tu tienda de decir: "Algo no está bien, pero no sé explicarlo". Vamos a desentrañarlo.
¿Qué es el error 500 en PrestaShop y por qué aparece?
El error 500 PrestaShop es un error genérico del lado del servidor. A diferencia de un error 404 (página no encontrada), aquí el problema suele estar en la configuración del hosting, en un archivo dañado de PrestaShop o en un módulo incompatible. Las causas más frecuentes son:
- Archivos con permisos incorrectos: PrestaShop necesita ciertos permisos (como 644 para archivos y 755 para carpetas) para funcionar. Si estos se cambian accidentalmente, el servidor se bloquea.
- Problemas con el archivo .htaccess: Este archivo es crucial para las URLs amigables y la seguridad. Si se corrompe, tu tienda deja de responder.
- Módulos o temas conflictivos: Un módulo recién instalado o un tema mal configurado pueden lanzar un error fatal.
- Límite de memoria PHP excedido: PrestaShop requiere un mínimo de memoria (por ejemplo, 256 MB o 512 MB). Si tu tienda tiene muchos productos o tráfico, puede necesitar más.
- Versiones incompatibles de PHP: PrestaShop 1.6, 1.7 y 8.x funcionan con versiones específicas de PHP (como 7.4, 8.0 o 8.1). Usar una versión incorrecta es una causa clásica.
[INFO] El error 500 no muestra detalles por seguridad. Por eso, necesitamos activar los logs del servidor para ver el mensaje real.
Primeros pasos desde cPanel: Activar el modo debug de PrestaShop
Antes de tocar nada, vamos a pedirle a PrestaShop que nos cuente qué está pasando. Esto se hace desde el archivo de configuración principal, config/defines.inc.php, usando el Administrador de Archivos de cPanel.
Acceder al Administrador 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 raíz de tu sitio web (normalmente
public_htmlo una carpeta específica si tienes varios dominios). Acepta.
Editar defines.inc.php
- Dentro del Administrador de Archivos, navega a la carpeta
configde tu PrestaShop (por ejemplo:public_html/config/). - Busca el archivo
defines.inc.php. Haz clic derecho sobre él y selecciona Editar. - Aparecerá un editor de texto. Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios (botón Guardar cambios en la esquina superior derecha).
Ahora, al recargar tu tienda, en lugar del error 500, verás un mensaje mucho más descriptivo, como "Fatal error: Uncaught Error..." o "Allowed memory size of...". Este mensaje es oro puro para la solución.
[WARNING] No dejes el modo debug activado para siempre, ya que expone información sensible de tu servidor. Una vez solucionado el error, vuelve a poner
false.
Solucionar error 500 cPanel: Pasos prácticos
Ahora que tenemos el mensaje de error, actuemos. Aquí tienes las soluciones más comunes, ordenadas de la más simple a la más avanzada.
1. Restaurar el archivo .htaccess
El archivo .htaccess es el culpable en el 90% de los casos. Se regenera fácilmente.
- En el Administrador de Archivos, ve a la raíz de tu PrestaShop (por ejemplo,
public_html). - Busca el archivo
.htaccess. Si no lo ves, activa la opción Mostrar archivos ocultos (en el menú superior de cPanel). - Haz clic derecho sobre
.htaccessy selecciona Renombrar. Ponle un nombre como.htaccess_oldo.htaccess_backup. Esto lo desactiva. - Ve a tu tienda y recarga. Si el error 500 desaparece, el problema era ese archivo.
- Para regenerarlo correctamente:
- Accede al panel de administración de PrestaShop (por ejemplo,
tudominio.com/admin). - Ve a Configuración de la tienda → Tráfico y SEO → URLs amigables.
- Sin cambiar nada, haz clic en Guardar. PrestaShop creará un nuevo
.htaccesslimpio.
- Accede al panel de administración de PrestaShop (por ejemplo,
[TIP] Si no puedes acceder al panel de administración (también da error 500), puedes forzar la regeneración desde el archivo
config/settings.inc.php(solo en PrestaShop 1.6) o reinstalando desde la copia de seguridad.
2. Ajustar los permisos de archivos y carpetas
PrestaShop necesita permisos específicos para funcionar. Los permisos incorrectos son otra causa frecuente.
- En el Administrador de Archivos, selecciona la carpeta raíz de tu PrestaShop (por ejemplo, todo
public_html). - Haz clic en el botón Permisos en la barra superior (o en Cambiar permisos).
- Se abrirá una ventana. Aquí tienes que:
- Carpetas: Establecer permiso 755 (marca las casillas: Propietario: lectura, escritura, ejecución; Grupo: lectura, ejecución; Público: lectura, ejecución).
- Archivos: Establecer permiso 644 (Propietario: lectura, escritura; Grupo: lectura; Público: lectura).
- Marca la casilla Recursivo para que se aplique a todas las subcarpetas y archivos.
- Haz clic en Cambiar permisos. Espera a que termine el proceso (puede tardar unos segundos).
[WARNING] No pongas permisos 777 (todo el mundo puede escribir). Es un riesgo de seguridad grave. Solo 755 y 644.
3. Aumentar el límite de memoria PHP
Si el error dice algo como "Allowed memory size of 134217728 bytes exhausted", necesitas más memoria.
- Desde cPanel, busca la sección Software y haz clic en Seleccionar versión de PHP.
- Se abrirá una página con la versión de PHP actual. Haz clic en Opciones (o Switch to PHP Options).
- Busca la opción
memory_limit. Por defecto suele ser128Mo256M. Cámbiala a512Mo incluso1024M(1 GB) si tu hosting lo permite. - Haz clic en Guardar o Aplicar. Luego recarga tu tienda.
[INFO] Si no ves esta opción, tu hosting puede tener límites. Contacta con tu proveedor para que lo aumente desde el servidor.
4. Desactivar módulos problemáticos desde la base de datos
Si el error apareció justo después de instalar un módulo, ese módulo es el sospechoso. Si no puedes acceder al panel de administración, desactívalo desde la base de datos con phpMyAdmin.
- En cPanel, busca la sección Bases de datos y haz clic en phpMyAdmin.
- Selecciona la base de datos de tu PrestaShop (la que configuraste durante la instalación).
- Busca la tabla
ps_module(el prefijo puede ser diferente, comoprestashop_module). - Haz clic en Examinar (o Browse). Verás una lista de módulos.
- Busca el módulo que instalaste recientemente. Haz clic en Editar (el lápiz) junto a su fila.
- Cambia el valor de la columna
activede1a0. Guarda los cambios. - Recarga tu tienda. Si funciona, el módulo era el problema. Puedes eliminarlo desde el panel de administración después.
[TIP] Si no sabes cuál módulo es, puedes desactivar todos cambiando el valor de
activea0en varios módulos, o incluso truncar la tablaps_module(con cuidado, solo si sabes lo que haces).
5. Verificar la versión de PHP
PrestaShop 1.6 funciona bien con PHP 5.6 o 7.0, PrestaShop 1.7 con PHP 7.2 o 7.4, y PrestaShop 8.x con PHP 8.0 o 8.1. Usar una versión incorrecta da error 500.
- Ve a Seleccionar versión de PHP en cPanel (sección Software).
- Elige la versión recomendada para tu PrestaShop (por ejemplo, 7.4 para PrestaShop 1.7.8).
- Haz clic en Establecer como versión actual.
- Si tienes varias versiones, también puedes usar el MultiPHP Manager para asignar una versión específica a tu dominio.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
Aquí respondo las dudas más comunes que mis clientes suelen tener.
¿Por qué aparece el error 500 después de una actualización?
Las actualizaciones de PrestaShop o de módulos pueden cambiar archivos de configuración, como .htaccess o settings.inc.php. Además, pueden requerir una versión de PHP diferente. Siempre verifica la compatibilidad antes de actualizar.
¿Puedo perder datos si restauro el .htaccess?
No, el archivo .htaccess solo contiene reglas de reescritura de URLs y seguridad. No afecta tus productos, clientes o pedidos. Al regenerarlo, todo vuelve a la normalidad.
¿El error 500 puede deberse a un ataque?
Sí, a veces un ataque de fuerza bruta o un script malicioso puede modificar archivos clave, como .htaccess o index.php. Si sospechas de un ataque, revisa los logs de errores en cPanel (sección Métricas → Errores) y cambia todas tus contraseñas.
¿Qué hago si ninguna solución funciona?
Si has probado todo (modo debug, permisos, .htaccess, memoria, módulos, PHP) y el error persiste, contacta con tu proveedor de hosting. Puede ser un problema de configuración del servidor, como un límite de ejecución de scripts o un error en el propio cPanel. Proporciónales el mensaje de error del modo debug.
Conclusión: Mantén tu PrestaShop saludable
El error 500 en PrestaShop es frustrante, pero con las herramientas de cPanel y un poco de paciencia, puedes resolverlo sin ser un experto. Recuerda:
- Siempre activa el modo debug para obtener pistas.
- No modifiques archivos sin hacer una copia de seguridad (puedes descargar una copia desde el Administrador de Archivos).
- Mantén todo actualizado: PrestaShop, módulos, temas y la versión de PHP.
- Usa un hosting de calidad que cumpla con los requisitos de PrestaShop (memoria, PHP, etc.).
Si sigues estos pasos, tu tienda volverá a funcionar en minutos. Y si tienes dudas, aquí estoy para ayudarte. ¡Buena suerte!
