Cómo solucionar el error '500 Internal Server Error' en PrestaShop con cPanel
¿Qué es el error 500 Internal Server Error en PrestaShop?
El error 500 internal server error es uno de los avisos más temidos por cualquier persona que gestiona una tienda online. Cuando aparece en tu PrestaShop, la página se queda en blanco o muestra un mensaje genérico como "Internal Server Error" o "Error 500". Lo peor es que, a diferencia de otros errores, no te dice exactamente qué ha fallado.
En términos sencillos, este error indica que el servidor donde está alojada tu tienda ha encontrado un problema inesperado y no ha podido completar la petición. No significa que tu tienda esté hackeada ni que hayas perdido datos, pero sí que necesitas actuar con calma y método para solucionar el error 500 en cPanel.
La buena noticia es que la mayoría de las veces tiene una solución clara y la puedes aplicar tú mismo, sin necesidad de ser un experto en programación. En esta guía te voy a explicar paso a paso, y con un lenguaje muy sencillo, cómo diagnosticar y resolver este problema en tu PrestaShop usando cPanel.
¿Por qué aparece el error 500 en PrestaShop?
Antes de lanzarte a tocar archivos, es importante que entiendas las causas más comunes. Así sabrás por dónde empezar. Estas son las razones típicas:
- Archivos con permisos incorrectos: cada archivo y carpeta de tu tienda tiene un "permiso" que indica quién puede leer, escribir o ejecutar. Si están mal configurados, el servidor se bloquea.
- Archivo .htaccess corrupto: este archivo de configuración es clave en PrestaShop. Si se daña o tiene una línea incorrecta, el servidor no sabe cómo responder.
- Errores de PHP: una actualización de módulo, un tema mal codificado o una versión de PHP incompatible pueden provocar un fallo fatal.
- Límite de memoria del servidor agotado: si tu tienda recibe mucho tráfico o un script consume demasiada memoria, el servidor "explota".
- Espacio en disco lleno: si el disco del hosting está al 100%, no se pueden crear los archivos temporales necesarios.
Ahora que ya sabes qué puede estar pasando, vamos a ponernos manos a la obra.
Paso 1: Accede a cPanel y revisa los logs de error
Lo primero que debes hacer es entrar en tu panel de control cPanel. Normalmente lo encuentras en una URL como tudominio.com/cpanel o a través del enlace que te dio tu proveedor de hosting.
Una vez dentro, busca la sección "Métricas" o "Registros". Allí encontrarás la opción "Error Log" o "Registros de errores". Haz clic para verlo. Este archivo es tu mejor amigo ahora mismo, porque te dirá exactamente qué línea de código o qué archivo está fallando.
Busca las últimas entradas, especialmente las que tengan la fecha y hora en la que empezó el problema. Verás mensajes como:
PHP Fatal error: Allowed memory size of X bytes exhaustedPHP Parse error: syntax error, unexpected...File does not exist: /home/usuario/public_html/.htaccess
[TIP]: Si el log es muy extenso, puedes usar la función de búsqueda de tu navegador (Ctrl + F) para buscar la palabra "error" o "fatal". Eso te ahorrará tiempo.
Paso 2: Revisa los permisos de archivos y carpetas
Si el log no te da una pista clara o no aparece nada nuevo, el siguiente paso es comprobar los permisos. En cPanel, ve a "Administrador de archivos". Navega hasta la carpeta public_html (o www si tu hosting usa esa estructura).
Debes asegurarte de que las carpetas tengan permisos 755 y los archivos tengan permisos 644. No te asustes con los números, es la configuración estándar.
Para cambiarlo:
- Selecciona todos los archivos y carpetas (Ctrl + A).
- Haz clic en "Permisos" en la barra superior.
- En la ventana emergente, marca las casillas hasta que veas los números correctos (755 para carpetas, 644 para archivos).
- Aplica los cambios.
[WARNING]: No pongas permisos 777 (todos los permisos) en archivos de PrestaShop. Es un riesgo de seguridad grave y puede hacer que te hackeen. Úsalo solo temporalmente y nunca en producción.
Paso 3: Corrige o regenera el archivo .htaccess
El archivo .htaccess es un pequeño archivo con reglas de configuración. Si se corrompe, es una causa muy común del prestashop error server.
Para solucionarlo, tienes dos opciones:
Opción A: Regenerar desde el panel de administración de PrestaShop
- Accede a tu back office de PrestaShop (normalmente en
tudominio.com/adminXXXX). - Ve a "Parámetros avanzados" > "Rendimiento".
- Busca el botón que dice "Regenerar el archivo .htaccess" y haz clic.
- Guarda los cambios.
Opción B: Crear uno nuevo desde cPanel
Si no puedes acceder al back office, haz esto:
- Ve a "Administrador de archivos" en cPanel.
- Entra en
public_html. - Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" (suele estar en la esquina superior derecha). - Haz clic derecho sobre él y selecciona "Editar".
- No borres todo el contenido. Primero, añade esta línea al principio del archivo para desactivar temporalmente las reglas de reescritura:
# Disable rewrite engine
RewriteEngine Off
-
Guarda el archivo. Esto hará que tu tienda cargue de forma básica, sin URLs amigables, pero al menos podrás acceder al panel.
-
Ahora entra en el back office y regenera el
.htaccesscomo te expliqué antes. Luego vuelve a borrar la línea que añadiste.
[INFO]: Si no sabes editar archivos, también puedes renombrar el .htaccess actual a .htaccess_bak y crear uno nuevo desde PrestaShop. Pero ten cuidado, porque perderás las reglas personalizadas si tenías alguna.
Paso 4: Aumenta el límite de memoria de PHP
Muchas veces el error 500 aparece porque PrestaShop necesita más memoria de la que el servidor le permite. Puedes aumentar este límite fácilmente desde cPanel.
- Busca la sección "Software" en cPanel y haz clic en "Select PHP Version" (o "Seleccionar versión de PHP").
- En la parte superior, verás una pestaña llamada "Options" o "Opciones". Haz clic.
- Busca la línea
memory_limit. Cámbiala a256Mo512M. También puedes subirmax_execution_timea120segundos. - Guarda los cambios.
Si no encuentras esta opción, puedes editarlo manualmente:
- Ve al "Administrador de archivos".
- Busca el archivo
php.inienpublic_html. Si no existe, créalo. - Añade esta línea:
memory_limit = 256M
max_execution_time = 120
- Guarda los cambios.
Paso 5: Desactiva módulos o temas problemáticos
Si el error empezó después de instalar un módulo o cambiar de tema, es muy probable que el culpable sea ese. Para comprobarlo, necesitas desactivar todos los módulos no esenciales.
Esto es más fácil de hacer desde el back office, pero si no puedes acceder, tendrás que hacerlo por FTP o cPanel:
- Entra en
public_html/modules/. - Busca la carpeta del módulo que instalaste recientemente.
- Renómbrala añadiendo un sufijo, por ejemplo
_old. Así PrestaShop no lo cargará. - Prueba a cargar tu tienda. Si funciona, ya sabes cuál era el problema.
Para el tema, ve a public_html/themes/ y haz lo mismo con la carpeta del tema activo. PrestaShop usará el tema por defecto si no encuentra el activo.
Paso 6: Verifica el espacio en disco
Un disco lleno puede provocar el error 500 prestashop sin que te des cuenta. En cPanel, mira el indicador de uso de disco en la barra lateral. Si está al 100%, libera espacio:
- Vacía la papelera de cPanel.
- Borra archivos de copias de seguridad antiguas.
- Elimina logs de acceso antiguos.
- Revisa si hay archivos temporales en
tmp.
Paso 7: Revisa la versión de PHP
PrestaShop es muy sensible a la versión de PHP. Si tu hosting actualizó PHP automáticamente, puede que tu versión de PrestaShop no sea compatible.
En cPanel, ve a "Select PHP Version" y prueba a cambiar a una versión anterior (por ejemplo, de PHP 8.2 a 8.1 o 7.4). Muchas veces esto resuelve el problema al instante.
[WARNING]: No te quedes en versiones muy antiguas de PHP porque son inseguras. Busca el equilibrio entre compatibilidad y seguridad. Idealmente, actualiza tu PrestaShop a la última versión estable.
Paso 8: Si nada funciona, usa el modo de depuración
PrestaShop tiene un modo de depuración que muestra los errores en pantalla. Para activarlo:
- Ve a
public_html/config/defines.inc.php. - Busca la línea que dice:
define('_PS_MODE_DEV_', false);
- Cámbiala a:
define('_PS_MODE_DEV_', true);
- Guarda y recarga tu tienda. Ahora verás el error específico en lugar del mensaje genérico. Anota lo que aparece, porque te dará la pista definitiva.
[INFO]: No olvides volver a poner false cuando termines de depurar, o tu tienda mostrará información sensible a los visitantes.
Preguntas frecuentes (FAQ)
¿El error 500 significa que he perdido mis datos?
No. El error 500 es un fallo del servidor, no de tu base de datos. Tus productos, clientes y pedidos siguen ahí. Solo necesitas restaurar el funcionamiento del sistema.
¿Puedo solucionar el error 500 sin cPanel?
Si tu proveedor usa otro panel como Syspanel (accesible por el puerto 2106), la estructura es muy similar. Busca las opciones equivalentes: "Administrador de archivos", "Logs" y "Versión de PHP". Los pasos serán prácticamente los mismos.
¿Cuánto tiempo tarda en solucionarse?
Si el problema es de permisos o .htaccess, lo resuelves en 10 minutos. Si es un módulo conflictivo, quizás tardes un poco más. Pero en la mayoría de los casos, no necesitas esperar a soporte técnico.
¿Debo contactar con mi hosting?
Si después de todos estos pasos el error persiste, puede ser un problema del servidor. Contacta con tu proveedor y diles que revisaste los logs, permisos y módulos. Ellos podrán revisar la configuración del servidor a nivel más profundo.
Resumen final
El error 500 internal server error en PrestaShop es un problema molesto, pero casi siempre solucionable. La clave está en ser metódico: revisa los logs, verifica permisos, regenera el .htaccess, sube la memoria PHP y desactiva módulos recientes. Con calma y siguiendo estos pasos, tu tienda volverá a estar online en poco tiempo.
[TIP]: Para evitar futuros sustos, te recomiendo hacer copias de seguridad periódicas y mantener PrestaShop, los módulos y el tema siempre actualizados. También es buena idea probar cualquier cambio en un entorno de pruebas antes de aplicarlo en tu tienda real.
Espero que esta guía te haya sido de ayuda. Si tienes alguna duda, déjala en los comentarios y estaré encantado de ayudarte a solucionar el error 500 en cPanel de tu PrestaShop. ¡Mucha suerte!
