Cómo solucionar el error 500 en PrestaShop (hosting compartido)
¡Vaya! Te has encontrado con el temido error 500 en tu tienda PrestaShop y, para colmo, está alojada en un hosting compartido. No te preocupes, es uno de los errores comunes PrestaShop, pero con la guía adecuada se puede resolver sin ser un experto. En este artículo, te explicaré paso a paso cómo solucionar error PrestaShop paso a paso, adaptado especialmente para entornos de PrestaShop hosting compartido.
[INFO] Este artículo está diseñado para que cualquier persona, incluso sin conocimientos técnicos profundos, pueda seguir los pasos. No necesitas ser un programador.
¿Qué es el error 500 y por qué aparece en PrestaShop?
El error 500, o "Error interno del servidor", es una respuesta genérica que da tu servidor web cuando algo sale mal, pero no quiere (o no puede) darte más detalles. Es como si tu coche se parara y el testigo de "check engine" se encendiera: sabes que hay un problema, pero necesitas un escáner para saber exactamente cuál.
En un hosting compartido, donde tu tienda comparte recursos con otros sitios web, las causas más comunes son:
- Problemas de memoria: PrestaShop necesita un mínimo de memoria PHP (normalmente 128MB o más). Si tu plan la limita, puede saltar el error.
- Módulos o temas incompatibles: Un módulo recién instalado o un tema mal configurado pueden romper la tienda.
- Archivos corruptos: Una actualización fallida o una subida de archivos incompleta.
- Errores en el archivo
.htaccess: Este archivo es como el "libro de instrucciones" del servidor. Si está mal escrito, todo falla. - Permisos de archivos incorrectos: Los archivos de tu tienda necesitan permisos específicos para que el servidor pueda leerlos y escribirlos.
Paso 1: Lo primero, activa el modo debug de PrestaShop
Por defecto, PrestaShop oculta los detalles del error para no mostrar información sensible a los visitantes. Pero nosotros necesitamos ver esos detalles. Vamos a "despertar" el modo debug.
[WARNING] Este paso implica editar un archivo. Si no te sientes cómodo, contacta con el soporte de tu hosting. Pero es el paso más importante para solucionar error PrestaShop de forma eficiente.
Accede a tu hosting compartido por FTP (FileZilla, Cyberduck, etc.) o a través del panel de control (cPanel, Syspanel, etc.).
- Localiza la carpeta raíz de tu PrestaShop (normalmente
public_html,htdocsowww). - Busca el archivo llamado
config/defines.inc.php. - Descarga una copia de seguridad de este archivo (¡por si acaso!).
- Ábrelo con un editor de texto plano (como Bloc de Notas, Sublime Text, o el editor online de tu panel).
- Busca la línea que dice:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo a tu servidor (si lo editaste localmente).
Ahora, al recargar tu tienda, en lugar del error 500 genérico, verás un mensaje de error mucho más descriptivo. Por ejemplo: "Fatal error: Allowed memory size of X bytes exhausted". Eso ya nos da una pista.
Si el error persiste o no ves nada, prueba a añadir también esta línea justo debajo:
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
Y si aún así no funciona, añade esta otra:
ini_set('display_errors', 'on');
[TIP] Una vez resuelto el problema, vuelve a poner
_PS_MODE_DEV_enfalsepara que tu tienda no muestre errores a los clientes.
Paso 2: Aumenta la memoria PHP (memory_limit)
El error más común en PrestaShop hosting compartido es la falta de memoria. Si el mensaje de error dice algo como "Allowed memory size of 67108864 bytes exhausted", significa que tu límite es de 64MB y PrestaShop necesita más.
¿Cómo aumentarlo?
- Opción A: Desde el panel de control (cPanel, Syspanel, etc.):
- Busca la sección "PHP" o "Configuración de PHP".
- Busca la opción
memory_limity cámbiala a256Mo incluso512M. Guarda los cambios.
- Opción B: Editando el archivo
php.ini:- Si tu panel no te permite cambiarlo, busca el archivo
php.inien la raíz de tu PrestaShop (si no existe, créalo). - Añade o modifica la línea:
memory_limit = 256M
- Si tu panel no te permite cambiarlo, busca el archivo
- Opción C: Editando el archivo
.htaccess:- Al final del archivo
.htaccess(en la raíz), añade:php_value memory_limit 256M
- Al final del archivo
[INFO] En Syspanel (HestiaCP), el puerto de acceso es el 2106. Busca en la sección "PHP" o "Configuración de PHP" para modificar los valores.
Paso 3: Desactiva módulos problemáticos
Si el error no es de memoria, es muy probable que un módulo esté causando el conflicto. Como no puedes acceder al back office de PrestaShop, tendrás que hacerlo "a mano".
Método manual (por FTP):
- Accede a tu servidor por FTP.
- Ve a la carpeta
modules. - Dentro de esta carpeta, verás una lista de carpetas, una por cada módulo instalado.
- Renombra la carpeta del módulo que sospechas que puede estar causando el problema. Por ejemplo, si crees que es el módulo "superplugin", renómbralo a
superplugin_desactivado. - Recarga tu tienda. Si el error desaparece, ¡ya lo tienes! Si no, ve renombrando carpetas de una en una hasta encontrar al culpable.
Método rápido (si tienes acceso a la base de datos):
- Accede a phpMyAdmin (desde tu panel de control).
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_module(oprestashop_modulesegún el prefijo). - Busca la columna
active. Pon un0en el módulo que quieras desactivar. - Guarda los cambios.
[WARNING] Este método es más avanzado. Si no sabes lo que haces, mejor usa el método FTP.
Paso 4: Revisa y restaura el archivo .htaccess
El archivo .htaccess es crucial para el SEO y el funcionamiento de PrestaShop. Si está dañado, puede dar error 500.
¿Cómo regenerarlo?
- Accede por FTP y localiza el archivo
.htaccessen la raíz. - Descarga una copia de seguridad.
- Renómbralo a
.htaccess_old(para desactivarlo temporalmente). - Recarga tu tienda. Si el error desaparece, el problema está en el
.htaccess. - Para regenerarlo correctamente, accede al back office de PrestaShop (si puedes) y ve a Configuración -> Parámetros Generales -> SEO y URLs y haz clic en "Guardar" (sin cambiar nada). Esto regenera el archivo.
- Si no puedes acceder al back office, puedes crear un archivo
.htaccessbásico desde cero. Pero es mejor que pidas ayuda a tu hosting.
Paso 5: Verifica los permisos de archivos y carpetas
Los permisos incorrectos pueden impedir que PrestaShop lea o escriba archivos, causando el error 500.
Los permisos correctos son:
- Archivos: 644 (lectura y escritura para el usuario, solo lectura para el grupo y otros).
- Carpetas: 755 (lectura, escritura y ejecución para el usuario, lectura y ejecución para el grupo y otros).
¿Cómo cambiarlos?
- Desde FTP: Selecciona todos los archivos y carpetas de la raíz, haz clic derecho y busca "Permisos de archivo" o "File permissions". Introduce el valor (644 o 755) y marca "Recursivo" (aplicar a subcarpetas).
- Desde cPanel o Syspanel: Busca la herramienta "Administrador de archivos", selecciona todo y cambia los permisos desde el menú.
[TIP] No te olvides de la carpeta
cache,logyupload. A veces necesitan permisos 777 (escribible por todos), pero es mejor que tu hosting los configure para que sean seguros.
Paso 6: Aumenta el tiempo de ejecución de PHP (max_execution_time)
A veces, una tarea (como una importación de productos o una actualización) tarda más de lo permitido y el servidor la corta, dando error 500.
¿Cómo aumentarlo?
- En el archivo
php.ini, añade:max_execution_time = 300(300 segundos = 5 minutos). - O en el
.htaccess:php_value max_execution_time 300
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
P: El error 500 aparece solo en algunas páginas, ¿qué hago?
R: Es probable que sea un módulo específico de esa página. Sigue el Paso 3 (desactivar módulos) para identificar el culpable.
P: He seguido todos los pasos y sigue sin funcionar. ¿Qué más puedo hacer?
R: Contacta con el soporte técnico de tu PrestaShop hosting compartido. Ellos tienen acceso a los logs del servidor y pueden ver el error exacto. Diles que has activado el modo debug y muéstrales el mensaje de error.
P: ¿Puede ser culpa de mi tema (template)?
R: Sí, un tema mal codificado o incompatible con tu versión de PrestaShop es una causa muy común. Prueba a cambiarlo temporalmente por el tema por defecto de PrestaShop (por ejemplo, "Classic"). Para ello, renombra la carpeta del tema actual en /themes/ y PrestaShop usará el que tenga por defecto.
P: ¿Actualizar PrestaShop soluciona el error 500?
R: A veces sí, pero también puede crearlo. Si tu versión es muy antigua, actualizar puede resolver problemas de compatibilidad. Pero hazlo siempre con una copia de seguridad de la tienda y la base de datos.
P: ¿El hosting compartido es malo para PrestaShop?
R: No necesariamente. Para tiendas pequeñas o en fase inicial, un buen hosting compartido es suficiente. Pero si tu tienda crece, necesitarás un VPS o servidor dedicado. El error 500 puede ser más frecuente en hosting compartido por los límites de recursos, pero con estos pasos lo solucionarás.
Conclusión
El error 500 PrestaShop en un hosting compartido puede ser frustrante, pero con paciencia y siguiendo estos pasos, lo resolverás. Recuerda: activa el modo debug, aumenta la memoria PHP, desactiva módulos problemáticos, revisa el .htaccess y verifica los permisos. Y si todo falla, tu hosting siempre puede ayudarte.
¡Esperamos que este artículo te haya sido útil! Si tienes alguna duda, déjala en los comentarios (si los tienes) o contacta con tu proveedor de hosting.
[TIP] Para evitar futuros errores, mantén PrestaShop, los módulos y el tema siempre actualizados. Y haz copias de seguridad periódicas.
