Errores comunes de PrestaShop y cómo solucionarlos en cPanel
Errores comunes de PrestaShop y cómo solucionarlos en cPanel
Gestionar una tienda online con PrestaShop es una aventura apasionante, pero también puede presentar algunos quebraderos de cabeza. Es muy probable que en algún momento te encuentres con un error inesperado que te impida trabajar o, peor aún, que tus clientes vean una pantalla en blanco en lugar de tu catálogo de productos.
No te preocupes, es algo más común de lo que parece. La buena noticia es que la mayoría de estos problemas PrestaShop tienen una solución sencilla que puedes aplicar tú mismo si tienes acceso a tu panel de control de hosting, como cPanel. En esta guía, vamos a desglosar los errores más frecuentes y te explicaré, paso a paso, cómo solucionar errores de forma segura y efectiva.
Mi objetivo es que te sientas acompañado en este proceso. No necesitas ser un experto en programación; solo necesitas seguir las instrucciones con calma y paciencia. Vamos a ello.
1. El temido error 500 (Internal Server Error)
Este es, sin duda, uno de los errores PrestaShop más frustrantes. Ves un mensaje genérico de "Error interno del servidor" y no sabes por dónde empezar. En la mayoría de los casos, la causa principal es un archivo .htaccess corrupto o con permisos incorrectos.
Este archivo es crucial para el funcionamiento de PrestaShop, ya que gestiona las redirecciones y las URLs amigables. Si se daña, el servidor no sabe cómo procesar las peticiones y responde con el error 500.
Cómo solucionarlo en cPanel:
- Accede a tu cPanel y busca la sección "Archivos". Haz clic en el Administrador de archivos.
- Navega hasta la carpeta donde tienes instalada tu tienda (normalmente es
public_html). - Busca el archivo
.htaccess. Es posible que tengas que activar la opción "Mostrar archivos ocultos" en la esquina superior derecha para verlo. - Haz clic derecho sobre él y selecciona "Cambiar permisos".
- Asegúrate de que esté configurado con el valor 644. Esto significa que el propietario puede leer y escribir, pero los demás solo pueden leer. Guarda los cambios.
- Si el problema persiste, el archivo podría estar dañado. En este caso, puedes renombrarlo a
.htaccess.bak(para tener una copia de seguridad) y luego ir a tu Panel de administración de PrestaShop -> Parámetros avanzados -> Rendimiento y hacer clic en "Regenerar el archivo .htaccess".
[INFO] Si después de esto sigues viendo el error, es posible que haya un problema con un módulo o tema recién instalado. Prueba a renombrar la carpeta
/modulesa/modules_oldtemporalmente. Si la tienda vuelve a funcionar, el problema es de un módulo. Tendrás que ir probando cuál es el conflictivo.
2. La pantalla en blanco (White Screen of Death)
Otro de los problemas PrestaShop más habituales es encontrarte con una página completamente en blanco. Esto suele indicar un error de PHP que está siendo suprimido o un problema de memoria. Es como si el sistema se quedara sin recursos para ejecutar el código.
Cómo solucionarlo en cPanel:
La solución más común es aumentar el límite de memoria de PHP.
- Ve a tu cPanel y busca la sección "Software". Haz clic en "Seleccionar versión de PHP" o "Administrador de PHP" (el nombre puede variar según el proveedor).
- Se abrirá una página con opciones de configuración. Busca la pestaña "Opciones".
- Localiza el parámetro
memory_limit. Aumenta su valor a512M(o al menos256M). - Guarda los cambios. Esto debería darle a PrestaShop el aire que necesita para respirar.
[WARNING] Si aumentar la memoria no funciona, activa la visualización de errores temporalmente. En el mismo panel de PHP, busca la opción
display_errorsy actívala. Esto hará que veas el error específico en la pantalla, lo que te dará una pista mucho más clara sobre el problema. Recuerda desactivarlo cuando termines, por seguridad.
3. Error de conexión con la base de datos
Este error es muy claro: PrestaShop no puede conectarse a su base de datos MySQL. Las causas suelen ser un cambio en la contraseña de la base de datos, un nombre incorrecto en el archivo de configuración o que la base de datos haya alcanzado su límite de espacio.
Cómo solucionarlo en cPanel:
- El archivo clave aquí es
parameters.php, ubicado en la carpetaapp/config/de tu instalación de PrestaShop. - En tu Administrador de archivos de cPanel, navega a
public_html/app/config/. - Haz clic derecho en
parameters.phpy selecciona "Editar". Se abrirá un editor de texto. - Busca las líneas que definen
database_host,database_name,database_userydatabase_password. - Verifica que estos datos sean exactamente los mismos que aparecen en tu cPanel, en la sección "Bases de datos MySQL". Es muy común equivocarse con el prefijo que añade el hosting al nombre de usuario y de base de datos (por ejemplo,
usuario_prestashop). - Si has cambiado la contraseña de la base de datos recientemente, asegúrate de actualizarla también aquí.
- Guarda los cambios y vuelve a intentar cargar tu tienda.
[TIP] Para estar seguro de que tus datos son correctos, ve a la sección "Bases de datos MySQL" en cPanel. Ahí verás una lista con los nombres de tus bases de datos y usuarios. Copia y pega esos nombres en el archivo
parameters.phppara evitar errores de escritura.
4. El error "Fatal error: Allowed memory size of X bytes exhausted"
Este es un clásico. Te dice que el script de PrestaShop ha intentado usar más memoria de la que tiene permitida. Es una variante del problema de la pantalla en blanco, pero con un mensaje más específico.
Cómo solucionarlo en cPanel:
La solución es exactamente la misma que para la pantalla en blanco: aumentar el límite de memoria de PHP. Sigue los pasos que te indiqué en el punto 2.
Además, puedes intentar hacer lo siguiente:
- Ve a la configuración de rendimiento de PrestaShop: Panel de administración -> Parámetros avanzados -> Rendimiento.
- En la opción de "Caché de plantillas", haz clic en "Vaciar la caché". A veces, una caché corrupta puede consumir mucha memoria.
- También puedes intentar desactivar la "Caché de Smarty" temporalmente para ver si el problema se resuelve.
5. Problemas con las URLs amigables (404 Not Found)
Si activaste las URLs amigables y ahora tus páginas dan error 404, el problema vuelve a estar relacionado con el archivo .htaccess. La mayoría de las veces, la regla de reescritura no se ha generado correctamente.
Cómo solucionarlo en cPanel:
- En tu Panel de administración de PrestaShop, ve a Parámetros avanzados -> Rendimiento.
- Haz clic en el botón "Guardar" (o "Regenerar el archivo .htaccess") en la parte superior de la página. Esto forzará a PrestaShop a crear un nuevo archivo
.htaccesscon las reglas correctas. - Si esto no funciona, prueba a desactivar las URLs amigables desde el mismo panel, guarda los cambios y luego actívalas de nuevo. A veces, este "reinicio" es suficiente.
[WARNING] Asegúrate de que tu servidor tenga habilitado el módulo
mod_rewritede Apache. Esto es esencial para que las URLs amigables funcionen. Si no estás seguro, puedes preguntarle a tu proveedor de hosting. Si usas un panel como Syspanel (que encontrarás en el puerto 2106), la gestión de estos módulos suele ser similar a la de cPanel.
6. El error "Link to database cannot be established"
Este es otro error de conexión con la base de datos, pero suele aparecer al intentar instalar PrestaShop o al restaurar una copia de seguridad. El mensaje es un poco más genérico que el anterior, pero la solución es la misma.
Cómo solucionarlo en cPanel:
- Verifica los datos de conexión en el archivo
parameters.phpcomo te expliqué en el punto 3. - Comprueba que la base de datos existe y que el usuario tiene todos los privilegios. En cPanel, puedes hacerlo en la sección "Bases de datos MySQL". Selecciona tu base de datos y asegúrate de que el usuario esté vinculado con "TODOS LOS PRIVILEGIOS" marcados.
7. Errores al subir imágenes o archivos grandes
PrestaShop tiene límites de subida de archivos, y a veces estos límites son demasiado bajos. Si intentas subir una imagen de producto de alta resolución y te da error, es hora de aumentar los límites de PHP.
Cómo solucionarlo en cPanel:
- Ve a la configuración de PHP en tu cPanel (como en el punto 2).
- Busca los parámetros
upload_max_filesizeypost_max_size. - Aumenta el valor de
upload_max_filesizea64Mo128M, y el depost_max_sizea un valor un poco mayor (por ejemplo,130M). - Guarda los cambios y vuelve a intentarlo.
8. La tienda está lenta
Un problema de rendimiento puede no ser un error "crítico", pero afecta directamente a la experiencia de tus clientes y al SEO. Una tienda lenta hace que los visitantes se vayan y que Google la posicione peor.
Cómo solucionarlo en cPanel:
- Activa la caché de PrestaShop: Ve a Parámetros avanzados -> Rendimiento y activa la "Caché de Smarty" y la "Caché de combinación de archivos" (CCC) para CSS y JavaScript.
- Activa la compresión GZIP: En la misma página de rendimiento, busca la opción "Comprimir el HTML" y actívala.
- Optimiza las imágenes: Asegúrate de que las imágenes de tus productos no sean demasiado pesadas. Puedes usar herramientas online para comprimirlas antes de subirlas.
- Considera usar una CDN (Red de Distribución de Contenidos) para servir las imágenes y archivos estáticos desde servidores cercanos a tus clientes.
9. El error "Class 'Module' not found" o "Fatal error: Class not found"
Este error suele aparecer después de actualizar PrestaShop o un módulo, y significa que hay una incompatibilidad o que la clase de un módulo no se puede cargar.
Cómo solucionarlo en cPanel:
- La solución más rápida es desactivar el módulo problemático.
- Accede a tu base de datos MySQL desde cPanel (phpMyAdmin).
- Busca la tabla
ps_module(el prefijops_puede variar). - Encuentra el módulo que da el error y cambia su estado de
1a0(activo a inactivo). - Esto desactivará el módulo y permitirá que tu tienda vuelva a funcionar. Luego, podrás intentar actualizarlo o reinstalarlo desde tu panel de administración.
[INFO] Si no sabes cuál es el módulo problemático, revisa el registro de errores de PrestaShop en Parámetros avanzados -> Registros. Ahí encontrarás el nombre de la clase que está fallando.
10. Cómo prevenir futuros errores: buenas prácticas
Una vez que hayas solucionado errores, es importante tomar medidas para evitar que vuelvan a ocurrir. Aquí tienes algunos consejos que te ayudarán a mantener tu tienda sana.
- Mantén todo actualizado: Actualiza PrestaShop, los módulos y los temas a sus últimas versiones. Las actualizaciones corrigen errores y vulnerabilidades de seguridad.
- Haz copias de seguridad periódicas: Configura copias de seguridad automáticas de tu base de datos y de tus archivos en cPanel. Esto te permitirá restaurar tu tienda rápidamente si algo sale mal.
- Instala módulos de confianza: No instales módulos de fuentes desconocidas. Pueden contener código malicioso o ser incompatibles con tu versión de PrestaShop.
- No modifiques archivos del núcleo: Si necesitas hacer cambios personalizados, utiliza un tema hijo o un módulo. Modificar los archivos del núcleo puede causar errores graves y dificultar futuras actualizaciones.
[TIP] Antes de hacer cualquier cambio importante, como una actualización o la instalación de un módulo, haz siempre una copia de seguridad completa. Es la mejor póliza de seguros que puedes tener.
Preguntas Frecuentes (FAQ)
Para terminar, respondo a algunas de las preguntas más comunes que recibo sobre errores PrestaShop.
¿Puedo acceder a mi panel de control si no uso cPanel?
Sí, algunos proveedores usan otros paneles como Syspanel. En ese caso, el acceso suele ser a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106). La lógica de las soluciones es la misma, solo cambia la interfaz.
¿Qué hago si no encuentro el archivo .htaccess?
Asegúrate de tener activada la opción "Mostrar archivos ocultos" en el Administrador de archivos de cPanel. Si no está, puedes crear uno nuevo en la raíz de tu instalación con el siguiente contenido básico:
# Use PHP5.6 as default
AddHandler application/x-httpd-php56 .php
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
Luego, ve a Parámetros avanzados -> Rendimiento y haz clic en "Guardar" para que PrestaShop lo regenere.
¿Es peligroso aumentar el límite de memoria de PHP?
No, es una práctica segura y común. Aumentar el límite de memoria permite que tus scripts se ejecuten sin problemas. Eso sí, no lo subas a un valor excesivo (como 1G) si no lo necesitas, ya que podría afectar al rendimiento general del servidor.
¿Por qué mi tienda se pone en modo mantenimiento sin que yo la haya activado?
PrestaShop a veces entra en modo mantenimiento automáticamente si detecta un error crítico. Para desactivarlo, ve a Panel de administración -> Parámetros generales -> Mantenimiento y actívalo o desactívalo. También puedes hacerlo directamente en la base de datos, en la tabla ps_configuration, buscando la variable PS_SHOP_ENABLE.
Espero que esta guía te haya sido de gran ayuda. Recuerda que la clave está en la paciencia y en ir paso a paso. Si un método no funciona, prueba con otro. Y si el problema persiste, siempre puedes contactar con el soporte técnico de tu hosting, que estará encantado de echarte una mano. ¡Mucha suerte con tu tienda online!
