Saltar al contenido

Uso de variables de entorno en Wordpress wp-config

Este team redactor ha pasado horas investigando para dar soluciones a tus búsquedas, te brindamos la resolución de modo que deseamos que te resulte de gran apoyo.

Solución:

Podría hacerlo dos veces más corto pasando el resultado de la función como un valor constante sin variable intermedia:

define('AUTH_KEY', getenv('AUTH_KEY'));

O haz eso en un bucle:

$vars = array('AUTH_KEY', 'SECURE_AUTH_KEY', ...);
foreach ($vars as $var) 
    define($var, getenv($var));

Prefiero usar este enfoque a continuación:


La mejor manera de usar variables de entorno para controlar su entorno WP es usando DotEnv (https://github.com/vlucas/phpdotenv)

Este enfoque se presenta en una publicación de blog: https://m.dotdev.co/secure-your-wordpress-config-with-dotenv-d939fcb06e24

El enfoque básico es crear un archivo .env en la raíz de su sitio con las variables de entorno.

Sin embargo, hay algunos problemas con la publicación del blog, ya que la versión 5 de DotEnv ya no usa variables de entorno de forma predeterminada.

Entonces, en lugar del código usado en la publicación del blog, use este en la parte superior de su archivo wp-config.php…

$app_env = getenv("APP_ENV");
$file = $app_env == null ? ".env" : ".env.".$app_env;
if(file_exists(__DIR__.'/'.$file))

    require_once(__DIR__ . '/vendor/autoload.php');
    (DotenvDotenv::createUnsafeImmutable(__DIR__,$file))->load();
    error_log("Environment loaded from ".$file);
 else 
    error_log("*WARNING* environment file not found: ".$file);

El archivo .env se ve así…

# MySQL settings

DB_NAME=wpbench
DB_USER=wpuser
DB_PASSWORD=password
DB_HOST=localhost
DB_CHARSET=utf8
DB_COLLATE=

La definición de las constantes en el archivo wp-config.php se ve así…

/** The name of the database for WordPress */
define( 'DB_NAME', getenv('DB_NAME'));

/** MySQL database username */
define( 'DB_USER', getenv('DB_USER'));

/** MySQL database password */
define( 'DB_PASSWORD', getenv('DB_PASSWORD'));

/** MySQL hostname */
define( 'DB_HOST', getenv('DB_HOST'));

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', getenv('DB_CHARSET'));

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', getenv('DB_COLLATE'));

Utilice la variable APP_ENV para cambiar entre conjuntos de variables. Por ejemplo, cree archivos .env.production y .env.staging. Si el archivo .env no existe, los valores se extraen del entorno, lo que funciona bien para la implementación en la nube.

Reseñas y calificaciones del tutorial

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *