Luis Molina

tecnologías de la información, experiencias, conocimiento

Configurar WordPress para varios servidores con un único fichero wp-config.php

with one comment

ejemplo de wp-config.php definiendo conexiones a varias bases de datos

Es una práctica común entre los desarrolladores web el tener varias versiones de un mismo sitio WordPress: versión local, versión en desarrollo, versión de pruebas, versión en producción, etc.

En caso de que no utilices un sistema de control de versiones (SVN, Git, etc.), aquí tienes una manera fácil de mantener un único fichero de configuración wp-config.php que contenga las distintas conexiones a la base de datos, en función del servidor donde se encuentre el fichero.

Edita el fichero wp-config.php y, al principio del mismo, reemplaza los datos de conexión que suelen venir predeterminados por estas líneas (como en la imagen superior):

if ($_SERVER['SERVER_ADDR'] == '127.0.0.1') {
  // Entorno LOCAL
  define('DB_NAME', 'nombreBDlocal');
  define('DB_USER', 'nombreUSRlocal');
  define('DB_PASSWORD', 'contraseñalocal');
  define('DB_HOST', 'servidorlocal'); // normalmente, localhost
} else {
  // Entorno PRODUCCION
  define('DB_NAME', 'nombreBDpro');
  define('DB_USER', 'nombreUSRpro');
  define('DB_PASSWORD', 'contraseñapro');
  define('DB_HOST', 'servidorpro');
}

En cada constante aquí definida, tendrás que escribir los valores correspondientes de las conexiones a tus bases de datos.

Como ves, los parámetros de conexión a la base de datos se definen en función de la IP del servidor donde esté alojado el fichero wp-config.php.

Jugando con $_SERVER['SERVER_ADDR'] y varios if...else if... (o case...switch...) podrás contemplar los distintos entornos en los que se ejecute tu sitio web con WordPress.


Actualización 19/05/2013

Otra manera muy práctica de mantener el mismo wp-config.php en distintos servidores (distintos entornos de ejecución de WordPress) es guardar los datos de conexión a la base de datos de cada entorno en un fichero distinto. En el siguiente ejemplo, se tiene un entorno local de desarrollo y un entorno real de producción:

wp-config-varias-bbdd-2

El código que ponemos en wp-config.php es este:

if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) {
 // ENTORNO LOCAL - DESARROLLO
 include( dirname( __FILE__ ) . '/local-config.php' );
} else {
 // ENTORNO REMOTO - PRODUCCIÓN
 define('DB_NAME', 'dbbd');
 define('DB_USER', 'dbmy');
 define('DB_PASSWORD', 'dbpw');
 define('DB_HOST', 'localhost');
}

Y el contenido del fichero local-config.php es este:

<?php
/**
 * Datos acceso a base de datos local (desarrollo).
 */
define('DB_NAME', 'localdb');
define('DB_USER', 'localdbusr');
define('DB_PASSWORD', 'localdbpwd');
define('DB_HOST', 'localhost');

Si estás utilizando un sistema de control de versiones para tus desarrollos en WordPress, asegúrate de excluir el fichero local-config.php.

 

 

Written by Luis Molina

9 diciembre 2012 a 13:09

Publicado en Artículos

Tagged with , ,

Una respuesta

Subscribe to comments with RSS.

  1. Gracias lo voy a probar!!🙂

    picudoazul

    20 septiembre 2013 at 08:35


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s