Solución al error 'Error de conexión con la base de datos' en PrestaShop
¡Hola! Si has llegado hasta aquí, probablemente te has encontrado con el temido mensaje "Error de conexión con la base de datos" en tu tienda PrestaShop. No te preocupes, es uno de los problemas más comunes en el mundo del eCommerce y, en la gran mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin ser un experto en programación.
En esta guía extensa y paso a paso, vamos a desglosar todas las causas posibles de este error y te enseñaremos a arreglar PrestaShop de forma segura y efectiva. Hablaremos de archivos de configuración, servicios del servidor, permisos y hasta de cómo interpretar los mensajes de error para que puedas diagnosticar el problema como un profesional.
Vamos a ello. Respira hondo, porque en menos de lo que piensas, tu tienda volverá a estar operativa.
¿Qué significa exactamente el "Error de conexión con la base de datos"?
Cuando PrestaShop intenta cargar tu tienda, necesita comunicarse con una base de datos (normalmente MySQL o MariaDB) donde se almacenan todos tus productos, pedidos, clientes y configuraciones. El error de conexión significa que PrestaShop no puede establecer una comunicación con ese servidor de base de datos.
Piensa en ello como si intentaras hacer una llamada telefónica: el "Error de conexión con la base de datos" es como marcar un número y recibir una grabación de que el número no existe o está apagado. Las razones pueden ser varias: el número (servidor) está mal escrito, la línea está caída (servicio detenido) o no tienes saldo (credenciales incorrectas).
Este error puede manifestarse de varias formas, pero las más comunes son:
- Un mensaje simple en pantalla:
Error de conexión con la base de datos. - Un error 500 PrestaShop (Internal Server Error) que no te deja ver nada más.
- Un mensaje más técnico que menciona
Link to database cannot be established.
No importa cómo aparezca, el proceso de solución es el mismo. Vamos a desglosarlo en pasos lógicos.
Paso 1: Verifica tu archivo de configuración (settings.inc.php)
La primera parada obligatoria es el archivo de configuración de PrestaShop. Este archivo contiene las "llaves" de acceso a tu base de datos. Si alguna de estas llaves es incorrecta, la conexión fallará.
¿Dónde está este archivo y cómo lo edito?
El archivo se llama settings.inc.php y se encuentra en la carpeta config de tu instalación de PrestaShop.
La ruta típica sería: tu-sitio-web.com/config/settings.inc.php
Para editarlo, necesitas acceso a tu servidor a través de un administrador de archivos (como el que ofrece tu panel de hosting, por ejemplo, Syspanel) o mediante un cliente FTP como FileZilla.
Dentro del archivo, busca las siguientes líneas:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_nombre_de_bd');
define('_DB_USER_', 'tu_usuario_de_bd');
define('_DB_PASSWD_', 'tu_contraseña_de_bd');
define('_DB_PREFIX_', 'ps_');
[WARNING] Ten muchísimo cuidado al editar este archivo. Un solo carácter mal colocado (una coma, una comilla o un espacio) puede romper tu tienda por completo. Si no te sientes seguro, haz una copia de seguridad del archivo antes de modificarlo.
¿Qué debo comprobar aquí?
_DB_SERVER_: Normalmente eslocalhosto127.0.0.1. Sin embargo, si tu hosting usa servidores de bases de datos remotos (muy común en hosting compartido), aquí tendrás una URL comomysql.tudominio.como una IP. Verifica este dato con tu proveedor de hosting._DB_NAME_,_DB_USER_y_DB_PASSWD_: Estos son los datos de acceso a tu base de datos. Asegúrate de que son exactamente los mismos que aparecen en el panel de administración de tu base de datos (por ejemplo, en Syspanel, que se accede por el puerto 2106, o en phpMyAdmin).
[TIP] Si recientemente cambiaste la contraseña de tu base de datos desde el panel de control de tu hosting, es muy probable que este archivo siga teniendo la contraseña antigua. Actualízalo con la nueva.
¿Qué hacer si los datos son correctos?
Si los datos son correctos y el error persiste, pasa al siguiente paso. El problema no está en las credenciales, sino en el servicio en sí.
Paso 2: Comprueba el estado del servidor de base de datos
A veces, el problema no es tuyo, sino del servidor. La base de datos puede estar caída, sobrecargada o en mantenimiento.
¿Cómo puedo saber si el servidor de BD está funcionando?
-
Desde tu panel de control (Syspanel): Accede a tu panel de hosting. Si usas Syspanel, recuerda que la URL de acceso es
https://tu-servidor:2106. Busca una sección llamada "Bases de datos" o "Servicios". Ahí deberías ver el estado del servicio MySQL/MariaDB. Si aparece como "Detenido" o "Apagado", intenta reiniciarlo. -
Desde phpMyAdmin: La mayoría de los paneles de control incluyen una herramienta llamada phpMyAdmin. Intenta acceder a ella. Si puedes entrar y ver tus tablas, significa que el servidor de base de datos está funcionando correctamente y el problema está en la conexión de PrestaShop (quizás el archivo del Paso 1). Si no puedes entrar, el problema es más serio y deberías contactar con tu proveedor de hosting.
¿Y si el servidor está caído?
[INFO] Si el servidor de base de datos está caído, no hay nada que puedas hacer excepto esperar a que tu proveedor de hosting lo solucione. A veces, un reinicio manual desde el panel de control (como Syspanel) soluciona el problema temporalmente. Busca un botón de "Reiniciar" o "Start" junto al servicio de MySQL.
Paso 3: Revisa los permisos de los archivos (Permisos 644 y 755)
Los sistemas Linux (donde se alojan la mayoría de servidores) controlan quién puede leer, escribir o ejecutar archivos. PrestaShop necesita permisos específicos para funcionar correctamente.
¿Por qué los permisos causan este error?
Si los permisos son demasiado restrictivos, PrestaShop no podrá leer el archivo settings.inc.php para obtener las credenciales, lo que resultará en un error de conexión. Por otro lado, si son demasiado permisivos, es un riesgo de seguridad.
¿Cómo los reviso?
- A través de tu cliente FTP o el administrador de archivos de Syspanel, navega hasta la raíz de tu instalación de PrestaShop.
- Busca la carpeta
configy dentro de ella, el archivosettings.inc.php. - Haz clic derecho sobre el archivo y selecciona "Permisos" o "CHMOD".
- Establece los permisos a 644 (esto significa que el propietario puede leer y escribir, y los demás solo leer).
[TIP] Para las carpetas, los permisos correctos son 755. Si has cambiado permisos recientemente para instalar un módulo y no los has revertido, este puede ser el origen del problema.
Paso 4: El error 500 PrestaShop y el archivo .htaccess
Un error 500 PrestaShop es un "Internal Server Error" genérico. A menudo, está relacionado con la base de datos, pero también puede deberse a un archivo .htaccess corrupto o con directivas incorrectas.
¿Cómo soluciono un .htaccess problemático?
- Conéctate por FTP o al administrador de archivos de tu hosting.
- Busca el archivo
.htaccessen la raíz de tu instalación de PrestaShop (junto a la carpetaconfig). - No lo borres directamente. Antes de nada, descarga una copia de seguridad a tu ordenador.
- Renombra el archivo en el servidor a
.htaccess_old. Esto lo "desactivará". - Intenta acceder a tu tienda. Si el error desaparece, el problema era el
.htaccess. - Para regenerarlo, ve al back-office de PrestaShop (si puedes acceder) en Parámetros avanzados > Rendimiento y haz clic en "Regenerar el archivo .htaccess".
[WARNING] Si renombras .htaccess y tu tienda usa URLs amigables (SEO), es posible que estas dejen de funcionar hasta que regeneres el archivo. Es un paso seguro, pero debes completar la regeneración para volver a la normalidad.
Paso 5: Verifica el espacio en disco y la memoria del servidor
Una base de datos llena o un servidor sin memoria RAM disponible también pueden provocar errores de conexión.
¿Cómo compruebo el espacio?
- Desde Syspanel (puerto 2106), busca la sección de "Estadísticas" o "Uso de disco".
- Si tu plan de hosting tiene un límite de espacio y lo has superado, el servidor puede negarse a procesar nuevas conexiones a la base de datos.
¿Qué hago si no hay espacio?
- Elimina archivos temporales, copias de seguridad antiguas o cachés.
- Vacía la papelera de reciclaje de tu hosting si la tiene.
- Considera optimizar tus tablas de base de datos desde phpMyAdmin (selecciona todas las tablas y elige "Optimizar").
Paso 6: El problema de la versión de PHP
PrestaShop es sensible a las versiones de PHP. Una versión de PHP demasiado antigua o demasiado nueva puede provocar errores de conexión y otros fallos.
¿Cómo cambio la versión de PHP?
- Accede a tu panel de control (Syspanel).
- Busca una sección llamada "PHP Configuration", "MultiPHP Manager" o similar.
- Selecciona tu dominio y cambia la versión de PHP a una que sea compatible con tu versión de PrestaShop.
[INFO] Para PrestaShop 1.7, se recomienda PHP 7.1, 7.2 o 7.3. Para PrestaShop 8, se recomienda PHP 7.4 o 8.0. Consulta la documentación oficial de tu versión.
¿Por qué esto causa el error?
Si tu servidor tiene una versión de PHP que no es compatible con los controladores de base de datos que usa PrestaShop, la conexión fallará silenciosamente y verás el mensaje de error genérico.
Paso 7: Contacta con tu proveedor de hosting
Si has llegado hasta aquí y nada ha funcionado, es hora de pedir ayuda profesional. El problema puede estar en el servidor a un nivel que no puedes ver ni controlar (por ejemplo, un firewall bloqueando el puerto de MySQL, un problema de red interna o una corrupción en las tablas de la base de datos).
¿Qué debo decir a mi proveedor?
Sé específico y claro. Proporciona la siguiente información:
- El mensaje de error exacto: "Error de conexión con la base de datos".
- La versión de PrestaShop que usas.
- Los pasos que ya has intentado (cambiar credenciales, revisar permisos, etc.).
- Pregunta si hay algún problema con el servidor MySQL o si hay algún bloqueo activo.
FAQ: Preguntas frecuentes sobre el error de conexión con la base de datos en PrestaShop
Para finalizar, respondemos a las dudas más habituales que nos llegan sobre este tema.
1. ¿Puedo arreglar este error sin acceso al panel de control de mi hosting?
No. Necesitas al menos acceso FTP o al administrador de archivos del hosting para editar el archivo settings.inc.php. Si no tienes estas credenciales, contacta con tu proveedor.
2. ¿Por qué veo el error solo a veces y no siempre?
Esto suele indicar que el servidor de base de datos está sobrecargado o alcanzando su límite de conexiones simultáneas. Puede ser un problema temporal que se resuelve solo, pero si es recurrente, necesitas un plan de hosting más potente.
3. ¿Qué es el prefijo ps_ en la configuración?
Es el prefijo que se añade a todas las tablas de la base de datos para evitar conflictos si compartes el servidor con otras aplicaciones. No deberías cambiarlo a menos que sepas exactamente lo que estás haciendo, ya que romperías todas las referencias.
4. ¿Un plugin o módulo puede causar este error?
Sí, un módulo mal codificado puede intentar realizar consultas a la base de datos que bloqueen el sistema o que provoquen un error 500 PrestaShop. Si el error empezó después de instalar un módulo, desactívalo renombrando la carpeta del módulo en /modules/nombre_del_modulo a /modules/nombre_del_modulo_old.
5. ¿Cuál es la diferencia entre "Error de conexión" y "Error 500"?
El "Error de conexión" es específico de la base de datos. El "Error 500" es un error genérico del servidor que puede tener muchas causas, aunque la base de datos es una de las más comunes. Nuestro artículo cubre ambos porque suelen estar relacionados.
6. ¿Necesito conocimientos de programación para solucionarlo?
No. Los pasos que hemos descrito son administrativos (editar archivos de configuración, cambiar permisos, reiniciar servicios). No necesitas escribir código. Solo necesitas seguir las instrucciones con paciencia.
Esperamos que esta guía te haya sido de gran ayuda. Recuerda que la clave está en la paciencia y en ir descartando causas una a una. Si el problema persiste, no dudes en contactar con nosotros o con tu proveedor de hosting, que para eso están.
¡Mucha suerte y a vender!
