Soporte » Plugins y Hacks » Hacks » Multiples DB_HOST en el mismo wp-config.php

  • Buenas tardes,
    Me surge una dudilla y no se si estoy en lo cierto o no.
    ¿Existe la posibilidad de poder especificar en un mismo wp-config.php varios HOSTs.?
    Se que existen los entornos, y se pueden especificar, pero el caso es que sería toda la info igual lo único que cambiaría sería el host. Ejemplo:
    Lo normal suele ser:

    define( 'DB_HOST', 'localhost' );

    Y a mi lo que se me ocurre es si se podría hacer algo tal que así:

    define( 'DB_HOST', '[prueba01.probando.com', 'prueba02.probando.com']');

    Cualquier opinión es bien recibida, gracias

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador LGrusin

    (@lgrusin)

    Pienso que no es posible (asi tal como lo has puesto) porque son los datos del servidor de la base de datos, nombre, usuario, password y servidor, todos de la base de datos.

    • Esta respuesta fue modificada hace 1 año, 1 mes por LGrusin.
    Moderador josearcos

    (@josearcos)

    Hola @mgoldfriend, gracias por publicar en el foro 😉

    Hay varias formas de hacer esto, de hecho otros frameworks como Symfony tienen variables ENV que son muy útiles. En WordPress hay que hacerlo un poco a lo old school. Algo que he hecho algunas veces es esto:

    
    $environment = 'production';
    switch($environment) {
        case 'production':
            @ini_set('log_errors', 'Off');
            @ini_set('display_errors', 'Off');
            define('WP_DEBUG', false);
     
            $db_name     = 'production';
            $db_user     = 'root';
            $db_password = '1234';
            $db_host     = 'localhost';
     
            break;
     
        case 'staging':
            @ini_set('log_errors', 'On');
            @ini_set('display_errors', 'Off');
            define('WP_DEBUG', true);
     
            $db_name     = 'staging';
            $db_user     = 'root';
            $db_password = '1234';
            $db_host     = 'localhost';
     
            break;
    }
    define( 'DB_NAME', $db_name );
    define( 'DB_USER', $db_user );
    define( 'DB_PASSWORD', $db_password );
    define( 'DB_HOST', $db_host );
    

    Espero que algo así te sirva, ya me cuentas.

    Un saludo.

    No entiendo lo de los 2 hosts, puedes explicar un poco para que lo necesitas? Entiendo que lo suyo es crear un Proxy Inverso, si lo que quieres es separar tablas de la base de datos existen plugins.

    Moderador josearcos

    (@josearcos)

    Otra forma similar es la que se propone en este artículo, que detecta el host gracias a las variables globales de HTTP: https://jonsuh.com/blog/configure-wordpress-for-multiple-environments/

    Moderador LGrusin

    (@lgrusin)

    @josearcos entonces son servidores o bases de datos diferentes previa selección. Le entendí otra cosa a @mgoldfriend

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • El debate ‘Multiples DB_HOST en el mismo wp-config.php’ está cerrado a nuevas respuestas.