Configurar el archivo settings.inc.php de PrestaShop manualmente
¿Qué es el archivo settings.inc.php y por qué es tan importante?
Cuando trabajas con PrestaShop, llega un momento en el que necesitas tocar cosas “bajo el capó”. El archivo settings.inc.php es uno de esos componentes internos que, aunque no deberías tocar a la ligera, es fundamental para que tu tienda funcione. Básicamente, es el archivo de configuración principal de tu tienda online. Contiene las credenciales de acceso a la base de datos, la URL de tu tienda, el prefijo de las tablas y otras opciones técnicas que hacen que todo funcione en conjunto.
Piensa en él como el centro de operaciones de tu tienda. Si este archivo se corrompe, se borra o se configura mal, tu tienda puede mostrar errores graves como la famosa pantalla blanca o el mensaje de “Error de conexión con la base de datos”. Por eso, entender cómo editarlo manualmente es una habilidad muy útil, especialmente cuando necesitas mover tu tienda a otro servidor, cambiar tu dominio o recuperar el acceso después de un fallo.
En este artículo, te voy a explicar paso a paso cómo configurar el settings.inc.php de PrestaShop manualmente, qué errores puedes encontrar y cómo solucionarlos. No necesitas ser un experto en programación, solo seguir las instrucciones con calma y hacer una copia de seguridad antes de empezar.
¿Dónde se encuentra el archivo settings.inc.php?
Antes de empezar a editar, tienes que saber dónde está el archivo. En una instalación estándar de PrestaShop, lo encontrarás en la carpeta config de tu tienda. La ruta completa suele ser:
public_html/config/settings.inc.php
Si tu tienda está en un subdirectorio, por ejemplo public_html/tienda/, la ruta será:
public_html/tienda/config/settings.inc.php
Para acceder a él, necesitas un administrador de archivos (como el que te ofrece tu panel de hosting) o un cliente FTP como FileZilla. Si usas Syspanel (recuerda que el puerto de acceso es el 2106), puedes entrar desde el administrador de archivos de tu hosting sin necesidad de programas externos.
[INFO] Si no encuentras el archivo, activa la opción de “mostrar archivos ocultos” en tu administrador de archivos. A veces los sistemas lo ocultan por seguridad.
Antes de tocar nada: haz una copia de seguridad
Esta regla es de oro: nunca edites un archivo de configuración sin hacer una copia de seguridad antes. Si cometes un error, podrías dejar tu tienda inaccesible y necesitarás revertir los cambios.
Para hacer la copia, simplemente descarga el archivo settings.inc.php a tu ordenador. También puedes copiar su contenido y pegarlo en un documento de texto que guardes en un lugar seguro. Así, si algo sale mal, podrás restaurarlo fácilmente.
[WARNING] Si tu tienda está caída y no puedes acceder al administrador de archivos, contacta con tu proveedor de hosting. Ellos podrán ayudarte a restaurar el archivo desde una copia de seguridad automática.
¿Qué contiene el archivo settings.inc.php?
Cuando abras el archivo con un editor de texto (como el Bloc de notas o Visual Studio Code), verás una serie de líneas de código PHP. No te asustes, es más sencillo de lo que parece. Las partes clave que debes conocer son:
1. Definición de la base de datos
Aquí es donde se guardan los datos de conexión a tu base de datos MySQL. Busca líneas que empiecen con define('_DB_SERVER_', define('_DB_NAME_', define('_DB_USER_' y define('_DB_PASSWD_'.
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_mysql');
define('_DB_PASSWD_', 'contraseña_mysql');
define('_DB_PREFIX_', 'ps_');
- DB_SERVER: Es la dirección del servidor de base de datos. Normalmente es
localhostsi tu base de datos está en el mismo servidor que tu web. - DB_NAME: El nombre de tu base de datos.
- DB_USER: El usuario que tiene acceso a la base de datos.
- DB_PASSWD: La contraseña de ese usuario.
- DB_PREFIX: El prefijo de las tablas. Por defecto es
ps_, pero puede variar si se cambió durante la instalación.
2. Definición de la URL de tu tienda
También encontrarás líneas que definen la URL de tu tienda:
define('__PS_BASE_URI__', '/');
define('_MEDIA_SERVER_1_', '');
La primera línea define la ruta base donde está instalada tu tienda. Si está en la raíz de tu dominio, será /. Si está en un subdirectorio, por ejemplo /tienda/, deberás ponerlo así.
3. Otras opciones de configuración
Hay más definiciones que controlan cosas como el modo de depuración, la clave de seguridad o el cifrado. No deberías tocarlas a menos que sepas exactamente lo que haces.
Cómo editar el archivo settings.inc.php paso a paso
Ahora que ya sabes qué contiene, vamos a ver cómo editarlo correctamente. Te voy a guiar con un ejemplo práctico: supongamos que necesitas cambiar la contraseña de tu base de datos o mover tu tienda a un nuevo servidor.
Paso 1: Abre el archivo con un editor de texto
Descarga el archivo settings.inc.php y ábrelo con un editor de texto plano. Evita usar procesadores de texto como Word, porque pueden añadir caracteres invisibles que rompan el código.
Paso 2: Localiza los datos de conexión a la base de datos
Busca el bloque que contiene las definiciones de _DB_SERVER_, _DB_NAME_, etc. Ahí es donde tendrás que hacer los cambios. Por ejemplo, si tu proveedor te ha dado una nueva contraseña para la base de datos, cambia el valor de _DB_PASSWD_.
define('_DB_PASSWD_', 'mi_nueva_contraseña_segura');
Paso 3: Cambia la URL base si es necesario
Si has cambiado de dominio o has movido la tienda a un subdirectorio, tendrás que actualizar __PS_BASE_URI__. Por ejemplo, si tu tienda ahora está en https://mipagina.com/tienda, la línea debería quedar así:
define('__PS_BASE_URI__', '/tienda/');
Paso 4: Guarda el archivo y súbelo de nuevo
Guarda los cambios en tu editor y sube el archivo a tu servidor, reemplazando el original. Asegúrate de que el archivo se sube con los permisos correctos (normalmente 644).
Paso 5: Comprueba que tu tienda funciona
Abre tu tienda en el navegador. Si todo está bien, verás tu página sin errores. Si aparece algún error, revisa los pasos anteriores o consulta la sección de errores más abajo.
[TIP] Después de editar el archivo, borra la carpeta
var/cache(ocacheen versiones antiguas) para asegurarte de que PrestaShop carga los nuevos valores.
Errores comunes al configurar settings.inc.php y cómo solucionarlos
Vamos a repasar los errores más típicos que puedes encontrar al editar este archivo. Es posible que ya hayas visto alguno de estos mensajes en tu pantalla.
Error: “Link to database cannot be established”
Este es probablemente el error más común. Significa que PrestaShop no puede conectarse a tu base de datos. Puede deberse a:
- La contraseña o el usuario de la base de datos son incorrectos.
- El nombre de la base de datos no existe.
- El servidor de base de datos no es
localhostsino una dirección IP o un hostname diferente.
Revisa los datos en las definiciones y vuelve a intentarlo.
Error: “The website encountered an error” o pantalla blanca
Si ves una pantalla blanca, es posible que hayas introducido un error de sintaxis en el archivo. Un carácter extra, una comilla mal cerrada o un punto y coma olvidado pueden provocar que el archivo no se ejecute correctamente.
Para depurar, puedes activar el modo de depuración de PrestaShop. Edita el archivo defines.inc.php en la misma carpeta config y busca la línea que dice define('_PS_MODE_DEV_', false);. Cámbiala a true para ver los errores en pantalla.
[WARNING] Activa el modo de depuración solo temporalmente. Cuando termines, vuelve a ponerlo en
falsepara no exponer información sensible a tus visitantes.
Error: “PrestaShop could not be installed”
Si estás intentando instalar PrestaShop y te aparece este error, es posible que el archivo settings.inc.php no tenga los permisos correctos. Asegúrate de que el archivo tiene permisos de escritura (normalmente 644 o 664) durante la instalación.
Error: “Table 'ps_xxx' doesn't exist”
Este error indica que el prefijo de las tablas no coincide con el que realmente usa tu base de datos. Si has restaurado una base de datos de otro sitio, es posible que el prefijo sea diferente. Revisa la línea _DB_PREFIX_ y ajústala al prefijo correcto.
Consejos avanzados para editar settings.inc.php con seguridad
Si ya te sientes cómodo editando el archivo, aquí tienes algunos consejos extra para evitar problemas:
Usa siempre rutas absolutas
En algunas configuraciones, puede ser útil definir rutas absolutas en lugar de relativas. Por ejemplo, puedes añadir una línea para definir la ruta física de tu tienda:
define('_PS_ROOT_DIR_', '/home/usuario/public_html/tienda');
Esto puede resolver problemas con la carga de imágenes o módulos en servidores con configuraciones especiales.
No uses el Bloc de notas de Windows
El Bloc de notas puede añadir un BOM (Byte Order Mark) al inicio del archivo, lo que puede causar problemas de codificación. Usa editores como Notepad++ o Visual Studio Code para evitar este problema.
Mantén una copia de seguridad local
Además de la copia en tu servidor, guarda una copia del archivo en tu ordenador. Así podrás restaurarlo rápidamente si algo falla.
¿Cuándo deberías editar settings.inc.php manualmente?
Editar este archivo manualmente no es algo que debas hacer todos los días. Aquí tienes algunas situaciones en las que puede ser necesario:
- Cambio de servidor o hosting: Necesitas actualizar los datos de conexión a la base de datos.
- Cambio de dominio: Debes actualizar la URL base.
- Recuperación de una tienda: Después de restaurar una copia de seguridad, puede ser necesario ajustar los datos de conexión.
- Resolución de errores de conexión: Cuando la tienda no se conecta a la base de datos y no puedes acceder al panel de administración.
En cualquier otro caso, es mejor usar el panel de administración de PrestaShop para hacer cambios de configuración, ya que es más seguro y menos propenso a errores.
Preguntas frecuentes (FAQ)
¿Puedo editar settings.inc.php desde el panel de administración de PrestaShop?
No, este archivo no se puede editar desde el panel de administración. Debes acceder a tu servidor a través de FTP o del administrador de archivos de tu hosting.
¿Qué pasa si borro el archivo settings.inc.php?
Si borras el archivo, tu tienda dejará de funcionar por completo. PrestaShop no podrá conectarse a la base de datos ni cargar la configuración. Deberías restaurarlo desde una copia de seguridad lo antes posible.
¿Es seguro cambiar el prefijo de las tablas en settings.inc.php?
Sí, pero solo si también cambias el prefijo en la base de datos. Si cambias el prefijo solo en el archivo, la tienda no encontrará las tablas y mostrará errores.
¿Puedo usar Syspanel para editar el archivo?
Sí, puedes usar el administrador de archivos de Syspanel (recuerda que el puerto de acceso es el 2106) para editar el archivo directamente. Es una opción cómoda si no quieres usar FTP.
¿Cómo sé si mi archivo settings.inc.php tiene los permisos correctos?
Los permisos correctos suelen ser 644 para archivos en la mayoría de los servidores. Si tienes problemas, puedes probar con 664 o 600 según la configuración de tu hosting.
Conclusión
Configurar el settings.inc.php de PrestaShop manualmente puede parecer intimidante al principio, pero con las instrucciones adecuadas y un poco de paciencia, es una tarea que puedes hacer tú mismo. Lo más importante es hacer una copia de seguridad antes de empezar y seguir los pasos con calma.
Recuerda que este archivo es el corazón de la configuración de tu tienda. Un pequeño error puede causar problemas, pero también puede ser la solución a muchos errores comunes de conexión y migración. Si tienes dudas, siempre puedes contactar con tu proveedor de hosting o con un profesional, pero ahora ya tienes el conocimiento para intentarlo por ti mismo.
Espero que esta guía te haya sido útil. Si tienes alguna pregunta o experiencia que compartir, no dudes en dejar un comentario. ¡Buena suerte con tu tienda PrestaShop!
