Configurar el archivo settings.inc.php en PrestaShop
¿Qué es el archivo settings.inc.php de PrestaShop y por qué es tan importante?
Si alguna vez has mirado la carpeta raíz de tu tienda PrestaShop, habrás visto un archivo llamado settings.inc.php. Aunque su nombre suene técnico y hasta un poco intimidante, es uno de los archivos más críticos de tu instalación. Básicamente, es el cerebro de la configuración que conecta tu tienda con la base de datos.
Cuando instalas PrestaShop, este archivo se genera automáticamente con los datos que introduces durante el proceso. Contiene información como el nombre de la base de datos, el usuario, la contraseña, el prefijo de las tablas y la URL de tu tienda. Si este archivo se corrompe, se borra o se configura mal, tu tienda dejará de funcionar por completo.
Por eso, saber cómo configurar y editar el settings.inc.php es una habilidad esencial para cualquier administrador de PrestaShop. No necesitas ser un programador experto, solo entender qué hace cada línea y saber qué cambios son seguros. En este artículo, te guiaré paso a paso para que domines este archivo sin miedo.
¿Dónde se encuentra el archivo settings.inc.php?
El archivo settings.inc.php se encuentra en la carpeta raíz de tu instalación de PrestaShop. Si tu tienda está en www.mitienda.com, el archivo estará en www.mitienda.com/settings.inc.php.
También puede aparecer en la ruta /config/settings.inc.php en versiones anteriores a PrestaShop 1.7. A partir de la versión 1.7, la configuración se gestiona de forma diferente, pero el archivo settings.inc.php sigue existiendo en muchas instalaciones, especialmente en versiones 1.6 y anteriores.
[INFO] Si usas PrestaShop 1.7 o superior, la configuración se almacena en la tabla
ps_configurationde la base de datos, pero el archivosettings.inc.phpsigue siendo necesario para arrancar la conexión inicial.
¿Qué contiene exactamente el settings.inc.php?
Para entender cómo configurarlo, primero debes saber qué contiene. Abre el archivo con un editor de texto plano (como el Bloc de notas o Notepad++) y verás algo parecido a esto:
<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_base_datos');
define('_DB_PASSWD_', 'contraseña_base_datos');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'cadena_aleatoria');
define('_COOKIE_IV_', 'cadena_aleatoria');
define('_PS_CREATION_DATE_', '2023-05-15');
define('_PS_VERSION_', '1.6.1.24');
define('_RIJNDAEL_KEY_', 'clave_aleatoria');
define('_RIJNDAEL_IV_', 'clave_aleatoria');
Cada línea define una constante que PrestaShop utiliza en todo el sistema. Vamos a desglosarlas:
- DB_SERVER: La dirección del servidor de base de datos (normalmente
localhost). - DB_NAME: El nombre de tu base de datos.
- DB_USER: El usuario con acceso a dicha base de datos.
- DB_PASSWD: La contraseña de ese usuario.
- DB_PREFIX: El prefijo de las tablas (por defecto
ps_). - MYSQL_ENGINE: El motor de almacenamiento (casi siempre
InnoDB). - PS_CACHING_SYSTEM y PS_CACHE_ENABLED: Controlan el sistema de caché.
- COOKIE_KEY y COOKIE_IV: Claves de seguridad para sesiones.
- PS_CREATION_DATE: Fecha de instalación de la tienda.
- PS_VERSION: Versión de PrestaShop instalada.
- RIJNDAEL_KEY y RIJNDAEL_IV: Claves de cifrado para datos sensibles.
¿Cuándo necesitas editar el settings.inc.php?
Hay varios escenarios en los que tendrás que tocar este archivo:
- Cambiaste de servidor de hosting: Necesitarás actualizar los datos de conexión a la base de datos.
- Cambiaste la contraseña de tu base de datos: Debes reflejar ese cambio aquí.
- Tu tienda muestra errores de conexión: Un fallo en estos datos suele ser la causa.
- Vas a migrar tu tienda a otro dominio: Deberás actualizar las URLs (aunque esto se hace mejor desde el panel de administración).
- Quieres optimizar la caché: Puedes activar o desactivar el sistema de caché manualmente.
Paso a paso: Cómo configurar el archivo settings.inc.php
1. Haz una copia de seguridad ANTES de tocar nada
Esto no es negociable. Si algo sale mal, podrás restaurar la versión original. Simplemente copia el archivo y renómbralo como settings.inc.php.bak. Guárdalo en un lugar seguro, incluso en tu ordenador local.
[WARNING] Nunca edites el archivo directamente en el servidor sin tener una copia de seguridad. Un error de sintaxis puede dejar tu tienda caída en segundos.
2. Accede a tu servidor
Puedes hacerlo mediante:
- FTP (con FileZilla o similar) para descargar/editar/subir el archivo.
- Panel de control de tu hosting (cPanel, Plesk, etc.).
- Syspanel (si usas HestiaCP, recuerda que el puerto de acceso es el 2106). Desde Syspanel puedes acceder al gestor de archivos y editar el archivo directamente.
3. Edita los datos de conexión a la base de datos
Abre el archivo y localiza las líneas correspondientes. Cámbialas por los nuevos valores. Por ejemplo:
define('_DB_SERVER_', 'mysql.tudominio.com');
define('_DB_NAME_', 'nueva_base');
define('_DB_USER_', 'nuevo_usuario');
define('_DB_PASSWD_', 'nueva_contraseña');
Asegúrate de no dejar espacios adicionales ni caracteres extraños. Usa comillas simples correctamente.
4. Verifica el prefijo de las tablas
Si migraste tu tienda desde otro servidor, el prefijo de las tablas debe coincidir con el de la base de datos original. Por ejemplo, si tus tablas se llaman ps_productos, el prefijo es ps_. Si el prefijo es distinto, cambia la línea:
define('_DB_PREFIX_', 'nuevo_prefijo_');
[TIP] Si no sabes qué prefijo usan tus tablas, revisa la base de datos con phpMyAdmin o desde Syspanel. Verás que todas las tablas empiezan con el mismo prefijo.
5. Actualiza las claves de seguridad (opcional pero recomendado)
Las claves _COOKIE_KEY_, _COOKIE_IV_, _RIJNDAEL_KEY_ y _RIJNDAEL_IV_ son cadenas aleatorias que se generan al instalar. Si las cambias, todas las sesiones de usuarios se invalidarán (tendrán que volver a iniciar sesión). Es recomendable regenerarlas si sospechas que tu tienda ha sido comprometida.
Puedes generar nuevas claves con herramientas online seguras o con el siguiente código PHP:
<?php
echo bin2hex(random_bytes(32));
6. Guarda los cambios y sube el archivo
Si editaste localmente, sube el archivo por FTP reemplazando el original. Asegúrate de que los permisos del archivo sean correctos (normalmente 644 o 444).
7. Prueba tu tienda
Accede a tu tienda en el navegador. Si todo está correcto, verás tu web funcionando con normalidad. Si aparece un error de conexión a la base de datos, revisa que los datos sean exactamente los correctos.
Errores comunes al editar settings.inc.php
Error: "Link to database cannot be established"
Este es el error más típico. Significa que los datos de conexión son incorrectos. Revisa:
- El nombre del servidor (a veces es
localhost, otras veces essql.tudominio.com). - El nombre de la base de datos.
- El usuario y la contraseña.
- Que el usuario tenga permisos sobre esa base de datos.
[WARNING] Si usas Syspanel (HestiaCP), el usuario de la base de datos suele tener un prefijo como
usuario_basededatos. Asegúrate de copiarlo exactamente.
Error: "Table 'ps_shop_url' doesn't exist"
Este error indica que el prefijo de las tablas no coincide. Revisa el _DB_PREFIX_ y compáralo con las tablas reales de tu base de datos.
Error: "PrestaShop could not connect to the database"
Este mensaje genérico puede deberse a múltiples causas. Verifica también que el servidor de base de datos esté activo y acepte conexiones desde tu servidor web.
Consejos avanzados para optimizar tu settings.inc.php
Activa la caché para mejorar el rendimiento
Si tu tienda tiene mucho tráfico, puedes activar la caché modificando:
define('_PS_CACHE_ENABLED_', '1');
Asegúrate de tener configurado un sistema de caché (como Memcached o APC) en tu servidor. Si no, podrías ralentizar tu tienda en lugar de acelerarla.
Desactiva el modo de mantenimiento temporalmente
Si necesitas hacer cambios importantes, puedes poner tu tienda en mantenimiento desde el panel de administración. Pero si no tienes acceso al panel, puedes forzarlo desde el archivo configurando:
define('_PS_MODE_DEV_', false);
Esto no es exactamente mantenimiento, pero te ayudará a ocultar errores a los visitantes mientras trabajas.
Configura el modo de desarrollo para depurar errores
Si estás haciendo pruebas, activa el modo de desarrollo para ver errores detallados:
define('_PS_MODE_DEV_', true);
[INFO] Este modo muestra errores de PHP y avisos de depuración. Es útil para desarrolladores, pero NO lo dejes activado en producción porque expone información sensible.
Preguntas frecuentes sobre settings.inc.php (FAQ)
¿Puedo eliminar el archivo settings.inc.php?
No. Sin él, PrestaShop no puede conectarse a la base de datos y tu tienda no funcionará. Es imprescindible.
¿Puedo cambiar el prefijo de las tablas después de la instalación?
Sí, pero es un proceso delicado. Debes cambiar tanto el archivo como los nombres reales de las tablas en la base de datos. Si no sabes hacerlo, contrata a un profesional.
¿Pierdo datos si edito el archivo?
No, siempre que solo modifiques los valores de configuración. Los datos de tu tienda están en la base de datos, no en el archivo.
¿Cómo sé qué versión de PrestaShop tengo?
Puedes verlo en la línea _PS_VERSION_ del archivo o en el panel de administración (Información sobre la tienda).
¿Qué hago si mi archivo settings.inc.php se corrompe?
Restaura la copia de seguridad que hiciste. Si no tienes, puedes volver a generar el archivo con los datos de conexión correctos, pero necesitarás conocer el prefijo de las tablas y las claves de cifrado.
¿Es seguro editar este archivo con el Bloc de notas?
Sí, siempre que guardes el archivo con codificación UTF-8 sin BOM. Te recomiendo usar un editor como Notepad++ o Visual Studio Code para evitar problemas de codificación.
Conclusión: Domina tu settings.inc.php y controla tu tienda
El archivo settings.inc.php es el guardián de la configuración de tu PrestaShop. Aunque al principio pueda parecer un archivo críptico, entenderlo te dará una ventaja enorme: podrás resolver problemas de conexión, migrar tu tienda sin sustos y optimizar el rendimiento.
Recuerda siempre:
- Haz copias de seguridad antes de cualquier cambio.
- Edita con cuidado y verifica cada valor.
- Prueba tu tienda después de cada modificación.
- Si usas Syspanel (HestiaCP), recuerda que el acceso es por el puerto 2106.
Con esta guía, ya tienes todo lo necesario para configurar y editar tu archivo de configuración de PrestaShop con confianza. Si te surge alguna duda, deja un comentario y estaré encantado de ayudarte.
¡Manos a la obra y que tu tienda siga funcionando a la perfección!
