Solucionar error 500 en PrestaShop al usar Syspanel
¡Hola! Soy tu técnico de soporte amigable. Si estás viendo un error 500 en tu tienda PrestaShop al trabajar con Syspanel (antes conocido como HestiaCP), no te preocupes: es un problema común y, por lo general, fácil de solucionar. Este error significa que algo falló en el servidor, pero no te dice exactamente qué. Vamos a descubrirlo juntos paso a paso, con un lenguaje claro y sin tecnicismos complicados.
¿Qué es un error 500? Es un mensaje genérico del servidor que indica que algo salió mal internamente. Puede deberse a un archivo de configuración dañado, un módulo de PrestaShop incompatible, permisos incorrectos, o incluso un problema con el propio Syspanel (como un límite de recursos o una mala configuración de PHP). Lo bueno es que, con las herramientas que te ofrece Syspanel (accesible desde tu navegador en el puerto 2106), podemos identificar y arreglar la causa.
Vamos a dividir la solución en pasos muy concretos. Sigue el orden, porque cada paso te ayudará a descartar posibles causas.
Paso 1: Activar el modo debug de PrestaShop para ver el error real
El error 500 es muy genérico. Lo primero es hacer que PrestaShop nos muestre el mensaje de error real. Para ello, necesitas modificar un archivo de configuración desde Syspanel.
- Accede a Syspanel: Abre tu navegador y escribe
https://tudominio.com:2106(recuerda, el puerto es el 2106). Inicia sesión con tus credenciales de administrador. - Busca el administrador de archivos: En el panel izquierdo, busca la sección Archivos o Administrador de archivos. Haz clic y se abrirá una ventana con la estructura de carpetas de tu hosting.
- Navega hasta la raíz de PrestaShop: Normalmente está en
/home/usuario/web/tudominio/public_html(opublic_htmldirectamente). Busca el archivo llamado config/defines.inc.php. - Edita el archivo: Haz clic derecho sobre
defines.inc.phpy selecciona Editar (o Code Editor). Busca la línea que dice:
define('_PS_MODE_DEV_', false);
Cámbiala a:
define('_PS_MODE_DEV_', true);
Guarda los cambios (normalmente con un botón de disquete o Guardar). - Vuelve a cargar tu tienda: Ahora, en lugar del error 500, verás un mensaje más descriptivo, como "Fatal error: Call to undefined function..." o "Allowed memory size exhausted...". Anota ese mensaje, te será útil más adelante.
[INFO] Si después de activar el modo debug no ves nada o ves una página en blanco, comprueba que el archivo se haya guardado correctamente y que no haya errores de sintaxis. También puedes revisar los logs de error desde Syspanel (sección Registros o Logs).
Paso 2: Revisar los logs de error del servidor desde Syspanel
Si el modo debug no te da suficiente información, los logs del servidor son tu mejor aliado. Syspanel guarda todos los errores de PHP y Apache.
- En Syspanel, ve a la sección Registros: Busca un menú que diga Registros, Logs o Bitácora. Normalmente está en la parte izquierda.
- Selecciona el log de errores: Verás opciones como Error log, Apache error log o PHP error log. Haz clic en el que corresponda a tu dominio (a veces aparece como "tudominio.com.error.log").
- Busca la fecha y hora del error: Revisa las últimas líneas del archivo. Busca entradas que contengan "PHP Fatal error" o "mod_fcgid". Por ejemplo:
[Sun Mar 10 12:34:56.789012 2025] [php:notice] [pid 12345] [client 192.168.1.1:54321] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /home/usuario/web/tudominio/public_html/modules/mimodulo/mimodulo.php on line 42 - Identifica la causa: El mensaje te dirá si es un problema de memoria, un archivo de módulo corrupto, o una función no definida.
[WARNING] Si no ves logs, asegúrate de que el registro de errores esté habilitado en Syspanel. Ve a Configuración del servidor > PHP y marca la opción "Mostrar errores de PHP" (display_errors) o "Registrar errores" (log_errors). Guarda los cambios.
Paso 3: Aumentar el límite de memoria PHP
Una causa muy común del error 500 PrestaShop Syspanel es que el script se queda sin memoria. Esto sucede sobre todo con módulos pesados o al actualizar la tienda.
- Desde Syspanel, ve a Configuración PHP: Busca Servidor > Configuración PHP o PHP Settings. También puede estar dentro de la sección de tu dominio (por ejemplo, Editar dominio > Opciones PHP).
- Busca el parámetro memory_limit: Normalmente aparece con un valor como
128Mo256M. Auméntalo a512Mo incluso1024Msi tu hosting lo permite. También puedes aumentarmax_execution_timea300(segundos) ymax_input_varsa5000(para evitar problemas con formularios grandes). - Guarda los cambios: Haz clic en Guardar y luego Reiniciar PHP o Reiniciar servicio (Syspanel te pedirá confirmación).
- Prueba tu tienda: Vuelve a cargar la página. Si el error era por memoria, ahora debería funcionar.
[TIP] Si no encuentras la opción de PHP en Syspanel, busca en la documentación de tu hosting o contacta con soporte. En algunos planes compartidos, el límite de memoria está fijado por el proveedor y no se puede cambiar. En ese caso, tendrías que optimizar tu PrestaShop (desactivar módulos pesados, comprimir imágenes, etc.).
Paso 4: Desactivar módulos problemáticos desde la base de datos
A veces, un módulo recién instalado o actualizado es el culpable del error 500. Si no puedes acceder al panel de administración de PrestaShop, puedes desactivarlo directamente desde la base de datos usando Syspanel y phpMyAdmin.
- Accede a phpMyAdmin desde Syspanel: Busca Base de datos > phpMyAdmin o Administrador de bases de datos. Inicia sesión con las credenciales de tu base de datos (las encuentras en el archivo
app/config/parameters.phpde PrestaShop). - Selecciona tu base de datos: En la izquierda, haz clic en el nombre de tu base de datos (suele ser algo como
usuario_prestashop). - Busca la tabla ps_module (o
prestashop_modulesi tu prefijo es diferente). Haz clic en Examinar. - Identifica módulos sospechosos: Busca módulos que hayas instalado recientemente o que tengan nombres extraños. Por ejemplo, si el log decía
mimodulo.php, localiza esa fila. - Desactívalo: En la fila del módulo, busca la columna
active. Haz clic en el lápiz (Editar) y cambia el valor de1a0. Guarda. - Limpia la caché: Desde Syspanel, ve a Herramientas > Limpiar caché o Reiniciar servicios. También puedes eliminar manualmente la carpeta
/var/cachede PrestaShop (desde el administrador de archivos, borra todo su contenido, pero no la carpeta en sí).
[WARNING] Ten cuidado al modificar la base de datos. Si no estás seguro de qué módulo desactivar, mejor desactívalos todos (cambia active a 0 en todas las filas de ps_module). Luego, desde el panel de administración de PrestaShop (si logras entrar), reactívalos uno por uno para encontrar el culpable.
Paso 5: Verificar permisos de archivos y carpetas
Los permisos incorrectos también provocan errores 500. PrestaShop necesita ciertos permisos para funcionar.
- Desde Syspanel, abre el Administrador de archivos.
- Selecciona la carpeta raíz de tu tienda (public_html) y haz clic en Permisos o Propiedades (a veces está en el menú derecho).
- Establece los permisos recomendados:
- Carpetas:
755(rwxr-xr-x) - Archivos:
644(rw-r--r--) - Archivos de configuración (como
config/defines.inc.php):644 - Carpeta
cache,log,img,modules,themes:755(a veces777temporalmente para pruebas, pero luego vuelve a755).
- Carpetas:
- Aplica recursivamente: Marca la opción "Aplicar a subcarpetas y archivos" (Recursive).
- Guarda y prueba.
[INFO] No uses permisos 777 en producción, ya que son inseguros. Si necesitas que PrestaShop escriba en ciertas carpetas (como cache o log), usa 755 y cambia el propietario (si Syspanel te lo permite) al usuario del servidor web (por ejemplo, www-data).
Paso 6: Revisar la versión de PHP y los requisitos de PrestaShop
PrestaShop requiere una versión específica de PHP. Si tu Syspanel tiene una versión incompatible, puede dar error 500.
- En Syspanel, ve a Configuración PHP (como en el Paso 3).
- Mira la versión actual: Debería ser PHP 7.4, 8.0, 8.1 u 8.2, dependiendo de tu versión de PrestaShop. Por ejemplo:
- PrestaShop 1.7: PHP 7.1 a 8.1.
- PrestaShop 8: PHP 7.4 a 8.2.
- Si es necesario, cambia la versión: En Syspanel, busca Versión de PHP o PHP-FPM y selecciona una compatible. Guarda y reinicia PHP.
- Verifica las extensiones: PrestaShop necesita extensiones como
mysqli,gd,curl,mbstring,openssl,zip, etc. En la misma sección de PHP, asegúrate de que estén habilitadas.
[WARNING] Cambiar la versión de PHP puede romper otros sitios en tu hosting. Si solo tienes PrestaShop, no hay problema. Pero si compartes el hosting con otros sitios, consulta con soporte antes de hacer el cambio.
Paso 7: Reconstruir el archivo .htaccess (si aplica)
Un .htaccess dañado o mal generado puede causar errores 500. PrestaShop genera este archivo automáticamente.
-
Desde Syspanel, ve al Administrador de archivos.
-
Localiza el archivo .htaccess en la raíz de tu tienda (public_html). Si no lo ves, activa la opción "Mostrar archivos ocultos" (suele ser un icono de ojo o un menú desplegable).
-
Renómbralo a .htaccess_backup (por si acaso).
-
Regenera el .htaccess desde PrestaShop: Si puedes acceder al panel de administración, ve a Parámetros de la tienda > Tráfico y SEO > SEO y URLs y haz clic en Guardar (sin cambiar nada). Esto regenera el archivo.
-
Si no puedes acceder al panel, crea un archivo nuevo desde el Administrador de archivos de Syspanel con el siguiente contenido básico (esto es solo para que funcione, luego lo regenerarás):
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L] </IfModule>Guárdalo como
.htaccessen la raíz. -
Prueba la tienda. Si funciona, luego desde el panel de administración regenera el .htaccess correcto.
Paso 8: Comprobar el archivo settings.inc.php (para PrestaShop 1.6 o versiones antiguas)
Si usas PrestaShop 1.6, el archivo config/settings.inc.php puede estar corrupto.
- Desde Syspanel, edita el archivo
config/settings.inc.php. - Verifica que las rutas y la conexión a la base de datos sean correctas. Busca líneas como:
Asegúrate de que coincidan con los datos de tu base de datos (los encuentras endefine('_DB_SERVER_', 'localhost'); define('_DB_NAME_', 'nombre_base'); define('_DB_USER_', 'usuario'); define('_DB_PASSWD_', 'contraseña');app/config/parameters.phpsi es PrestaShop 1.7+). - Si todo está correcto, guarda y prueba.
[INFO] En PrestaShop 1.7 y 8, la configuración de la base de datos está en app/config/parameters.php. Si ese archivo falta o está dañado, el error 500 es seguro. Puedes restaurarlo desde una copia de seguridad o recrearlo con los datos correctos.
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop con Syspanel
P: ¿Por qué solo me da error 500 en algunas páginas?
R: Puede ser un módulo específico que se carga en esas páginas. Sigue el Paso 4 para desactivar módulos sospechosos.
P: El error 500 apareció después de una actualización de PrestaShop, ¿qué hago?
R: Primero, activa el modo debug (Paso 1). Luego, verifica que la versión de PHP sea compatible (Paso 6). También revisa los logs (Paso 2) para ver si algún módulo antiguo da conflicto.
P: Syspanel me muestra el puerto 2106, pero no puedo acceder. ¿Qué hago?
R: Asegúrate de que el puerto 2106 esté abierto en tu firewall. Si usas un hosting compartido, el proveedor puede tenerlo bloqueado. Contacta con soporte. También puedes intentar acceder desde una red diferente (por ejemplo, desde tu móvil con datos).
P: He probado todo y sigue el error 500. ¿Qué más puedo hacer?
R: Prueba a restaurar una copia de seguridad reciente de tu tienda (desde Syspanel, sección Copia de seguridad). Si no tienes, contacta con el soporte técnico de tu hosting, ya que puede ser un problema de configuración del servidor (como límites de recursos o errores en el panel Syspanel mismo).
P: ¿El error 500 puede deberse a que Syspanel está mal configurado?
R: Sí, aunque es raro. Por ejemplo, si el límite de procesos PHP por usuario es muy bajo, o si hay un error en la configuración de Nginx/Apache. En ese caso, solo el administrador del servidor puede arreglarlo. Si tu hosting usa Syspanel, pide ayuda a su equipo técnico.
Resumen y consejo final
El error 500 PrestaShop Syspanel suele resolverse con estos pasos:
- Activar modo debug para ver el error real.
- Revisar logs del servidor desde Syspanel.
- Aumentar memoria PHP.
- Desactivar módulos problemáticos desde la base de datos.
- Verificar permisos de archivos.
- Comprobar versión de PHP.
- Reconstruir .htaccess.
- Revisar archivos de configuración.
Si después de todo esto el error persiste, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso directo a Syspanel y pueden revisar configuraciones más profundas. Recuerda que siempre es buena idea tener una copia de seguridad antes de hacer cambios importantes.
[TIP] Para evitar futuros errores 500, mantén PrestaShop, sus
