Guía para solucionar el error 500 en PrestaShop desde Plesk
¿Por qué aparece el error 500 en PrestaShop y cómo afecta a tu tienda?
Ver un error 500 en tu tienda PrestaShop puede ser frustrante, sobre todo si no sabes por dónde empezar. Este error, también conocido como "Error interno del servidor", es una respuesta genérica que indica que algo salió mal en el servidor, pero sin dar detalles específicos. En esta guía, aprenderás paso a paso a solucionar el error 500 en PrestaShop desde Plesk, el panel de control que probablemente uses para gestionar tu hosting. Cubriremos desde las causas más comunes hasta soluciones prácticas, incluyendo cómo activar el modo debug de PrestaShop y revisar logs del servidor. Sigue leyendo para arreglar el error 500 PrestaShop y recuperar tu tienda online.
## Causas comunes del error 500 en PrestaShop
Antes de lanzarte a solucionar, es útil entender qué puede estar provocando el problema. Las causas más frecuentes incluyen:
- Archivos .htaccess corruptos o mal configurados (muy común después de migraciones o cambios de URL).
- Problemas de permisos de archivos o carpetas (por ejemplo, después de una actualización fallida).
- Módulos incompatibles o recién instalados que generan conflictos.
- Problemas de memoria PHP (límite de memoria insuficiente para ejecutar PrestaShop).
- Errores en la configuración del servidor (como versiones de PHP incompatibles).
- Base de datos dañada o con tablas corruptas.
En Plesk, puedes abordar la mayoría de estos puntos sin necesidad de ser un experto técnico. Vamos a ello.
## Paso 1: Activar el modo debug de PrestaShop para obtener más información
El error 500 es muy poco descriptivo. Por eso, lo primero que debes hacer es activar el modo debug de PrestaShop. Esto mostrará mensajes de error detallados que te indicarán exactamente qué está fallando.
### ¿Cómo activar el modo debug desde Plesk?
- Accede a tu panel de Plesk (normalmente
https://tudominio.com:8443o la URL que te haya proporcionado tu proveedor). - Ve a Archivos o Administrador de archivos y navega hasta la carpeta raíz de tu tienda PrestaShop (por ejemplo,
httpdocsopublic_html). - Busca el archivo
config/defines.inc.php. Si no lo ves, asegúrate de que estás viendo archivos ocultos (en Plesk, suele haber un botón "Mostrar archivos ocultos"). - Descarga el archivo o ábrelo con el editor de texto integrado.
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios.
[TIP] Si tu PrestaShop es muy reciente (versión 8 o superior), también puedes buscar
define('_PS_MODE_DEV_', false);y cambiarlo atrue. Si no aparece, puedes agregarlo después de la líneadefine('_PS_MODE_DEV_', false);(si existe).
Ahora, al acceder a tu tienda, verás mensajes de error detallados en lugar de la pantalla en blanco o el error 500. Anota el mensaje exacto, ya que te guiará hacia la solución.
## Paso 2: Revisar los logs del servidor en Plesk
Si el modo debug no te da suficiente información (o no puedes activarlo porque el error impide acceder a los archivos), los logs del servidor son tu siguiente mejor amigo.
### ¿Dónde encontrar los logs en Plesk?
- En Plesk, ve a Sitios web y dominios y selecciona tu dominio.
- Busca la sección Logs o Registros. Normalmente hay dos tipos:
- Error log (registro de errores del servidor web, Apache o Nginx).
- Access log (registro de accesos).
- Haz clic en Error log y revisa las últimas líneas. Busca entradas que contengan "PHP Fatal error" o "PrestaShop" justo en la fecha/hora en que ocurrió el error.
- También puedes descargar el log completo para analizarlo con más calma.
Un error típico que verás es algo como:
PHP Fatal error: Uncaught Error: Call to undefined function...
Ese mensaje te dirá exactamente qué archivo o función está fallando.
[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso es a través del puerto 2106 (ejemplo:
https://tudominio.com:2106). Allí, en la sección de logs, encontrarás información similar.
## Paso 3: Solucionar problemas con el archivo .htaccess
Uno de los culpables más comunes del error 500 PrestaShop Plesk es un archivo .htaccess corrupto o mal generado. Esto suele pasar después de:
- Cambiar la URL de la tienda.
- Migrar a un nuevo servidor.
- Instalar o desinstalar módulos que modifican las reglas de reescritura.
### Cómo regenerar el .htaccess desde Plesk
- Accede al Administrador de archivos de Plesk y ve a la raíz de tu tienda.
- Busca el archivo
.htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos". - Descarga una copia de seguridad del archivo actual (por si acaso).
- Renómbralo a
.htaccess_old(esto lo desactiva temporalmente). - Ahora, intenta acceder a tu tienda. Si el error 500 desaparece, el problema estaba en el .htaccess.
- Para regenerarlo correctamente:
- Ve al panel de administración de PrestaShop (si puedes acceder) a Configuración > Tráfico y SEO > SEO y URL.
- Haz clic en Guardar sin cambiar nada. Esto regenera el .htaccess automáticamente.
- Si no puedes acceder al panel, puedes crear un archivo .htaccess básico desde Plesk:
- Crea un nuevo archivo llamado
.htaccess. - Pega el siguiente contenido mínimo:
- Crea un nuevo archivo llamado
# START PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
# END PrestaShop
Guarda y prueba de nuevo.
[WARNING] No dejes el .htaccess básico por mucho tiempo, ya que puede afectar el rendimiento. Regenera el oficial desde el panel de administración tan pronto como puedas.
## Paso 4: Verificar y corregir permisos de archivos y carpetas
Los permisos incorrectos son otra causa frecuente del error 500 PrestaShop Plesk. PrestaShop necesita permisos específicos para leer, escribir y ejecutar archivos.
### Permisos recomendados para PrestaShop
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Archivos de configuración (como
config/settings.inc.php): 644 o 640 - Carpeta
cacheylog: 755 (a veces 777 si hay problemas de escritura, pero intenta evitar 777 por seguridad)
### Cómo cambiar permisos desde Plesk
- En el Administrador de archivos, selecciona la carpeta raíz de tu tienda.
- Haz clic en Permisos (o Propiedades > Permisos).
- Marca las casillas correspondientes:
- Para carpetas: Propietario: lectura, escritura, ejecución; Grupo: lectura, ejecución; Público: lectura, ejecución.
- Para archivos: Propietario: lectura, escritura; Grupo: lectura; Público: lectura.
- Aplica los cambios. Si hay muchas subcarpetas, usa la opción Aplicar a subdirectorios (con cuidado, porque puede tardar).
[TIP] Si tienes acceso a la terminal (SSH), puedes usar comandos como
find . -type d -exec chmod 755 {} \;yfind . -type f -exec chmod 644 {} \;. Pero desde Plesk es más visual y seguro.
## Paso 5: Aumentar el límite de memoria PHP
PrestaShop puede consumir bastante memoria, especialmente si tienes muchos módulos o catálogos grandes. Un límite bajo de memoria PHP (por ejemplo, 32M o 64M) puede provocar errores 500.
### Cómo aumentar el límite de memoria en Plesk
- Ve a Sitios web y dominios > selecciona tu dominio.
- Busca Configuración de PHP (o PHP Settings).
- Busca la opción
memory_limit. Si no aparece, puedes agregarla manualmente. - Cámbiala a un valor como
256Mo512M. También puedes aumentarmax_execution_timea120o300para evitar timeouts. - Guarda los cambios y reinicia el servicio web (en Plesk, suele haber un botón Reiniciar o Apply).
[INFO] Si tu hosting usa Syspanel, accede por el puerto 2106, ve a Web > PHP Settings y ajusta
memory_limitdesde allí.
## Paso 6: Deshabilitar módulos problemáticos
Si el error 500 apareció después de instalar o actualizar un módulo, ese es el principal sospechoso. Para solucionar el error 500 PrestaShop causado por módulos:
### Cómo deshabilitar módulos desde Plesk sin acceso al panel
- Accede al Administrador de archivos de Plesk.
- Navega a la carpeta
modulesdentro de la raíz de PrestaShop. - Renombra la carpeta del módulo sospechoso añadiendo
_oldal final (por ejemplo,supermodulo→supermodulo_old). Esto lo desactiva temporalmente. - Vuelve a cargar tu tienda. Si el error desaparece, ya sabes qué módulo causaba el problema.
- Si no sabes cuál es, puedes renombrar toda la carpeta
modulesamodules_oldy crear una nueva carpetamodulesvacía. Luego, desde el panel de administración (si accedes), ve a Módulos y reinstala los que necesites uno por uno.
[WARNING] No dejes la carpeta
modulesvacía por mucho tiempo, porque PrestaShop dejará de funcionar correctamente. Es solo una medida de diagnóstico.
## Paso 7: Revisar la base de datos
Una base de datos corrupta también puede generar errores 500. PrestaShop tiene una herramienta integrada para reparar tablas.
### Cómo reparar la base de datos desde Plesk
- En Plesk, ve a Bases de datos y selecciona la base de datos de tu tienda.
- Haz clic en phpMyAdmin (o Administrar).
- En phpMyAdmin, selecciona todas las tablas (marca la casilla superior).
- En el menú desplegable Con seleccionadas, elige Reparar tabla.
- Espera a que termine. Si hay errores, te mostrará un mensaje.
- También puedes ejecutar una consulta SQL para optimizar:
OPTIMIZE TABLE(aunque no siempre es necesario).
[TIP] Si no sabes qué base de datos usa tu PrestaShop, revisa el archivo
config/settings.inc.php(oapp/config/parameters.phpen versiones modernas) para encontrar el nombre, usuario y contraseña.
## Paso 8: Verificar la versión de PHP y compatibilidad
PrestaShop requiere una versión específica de PHP. Por ejemplo:
- PrestaShop 1.7.x funciona mejor con PHP 7.1 a 7.4.
- PrestaShop 8.x requiere PHP 7.4 o superior (idealmente 8.0 o 8.1).
### Cómo cambiar la versión de PHP en Plesk
- Ve a Sitios web y dominios > selecciona tu dominio.
- Busca Configuración de PHP > Versión de PHP.
- Selecciona una versión compatible con tu PrestaShop (pregunta a tu proveedor si no estás seguro).
- Guarda y prueba.
[INFO] Si usas Syspanel, puerto 2106, la opción está en Web > PHP Settings > PHP Version.
## Paso 9: Restaurar desde una copia de seguridad
Si nada de lo anterior funciona, la solución más rápida es restaurar una copia de seguridad reciente de tu tienda (archivos y base de datos). En Plesk, puedes hacerlo desde Sitios web y dominios > Copias de seguridad.
[WARNING] Asegúrate de tener siempre copias de seguridad actualizadas. ¡Es tu mejor seguro contra errores graves!
## Preguntas Frecuentes (FAQ)
### ¿El error 500 puede deberse a un problema de hosting?
Sí, a veces el servidor tiene configuraciones restrictivas (como límites de memoria muy bajos o módulos deshabilitados). Contacta a tu proveedor de hosting si después de seguir esta guía el error persiste.
### ¿Puedo solucionar el error 500 sin acceder al panel de administración de PrestaShop?
Sí, la mayoría de los pasos de esta guía se realizan desde Plesk o mediante FTP. No necesitas el panel de administración de PrestaShop para arreglar el error 500 PrestaShop.
### ¿Qué hago si no encuentro el archivo defines.inc.php?
En versiones recientes de PrestaShop (8.x), el archivo puede llamarse config/defines.inc.php o app/config/parameters.php. Si no existe, créalo con el contenido necesario (puedes descargar una copia limpia desde la documentación oficial).
### ¿Por qué después de regenerar el .htaccess sigue el error?
Puede que el problema no sea el .htaccess, sino otro archivo o configuración. Revisa los logs del servidor y el modo debug para obtener más pistas.
### ¿Es seguro aumentar el límite de memoria PHP?
Sí, siempre que no superes los límites de tu plan de hosting. Si tu proveedor tiene restricciones, contacta con soporte para aumentarlo.
## Conclusión
El error 500 PrestaShop Plesk puede parecer intimidante, pero con un enfoque sistemático puedes resolverlo en la mayoría de los casos. Recuerda siempre:
- Activar el modo debug para obtener más detalles.
- Revisar los logs del servidor.
- Regenerar el .htaccess.
- Verificar permisos y límites de PHP.
- Deshabilitar módulos sospechosos.
- Reparar la base de datos.
- Asegurarte de que la versión de PHP sea compatible.
Si después de todos estos pasos el error persiste, no dudes en contactar al soporte técnico de tu hosting. Con un poco de paciencia, tu tienda volverá a funcionar en poco tiempo. ¡Buena suerte!
