【问题标题】:Error Connecting Database: Using Environment Variables into wp-config.php连接数据库时出错:在 wp-config.php 中使用环境变量
【发布时间】:2015-04-19 10:17:47
【问题描述】:

我想配置一个 wordpress 站点,我的 wp-config 应该从环境变量中获取数据库值。我已经设置了我的环境变量,但是在它显示“建立数据库连接时出错”。

这是我正在使用的代码

define('DB_NAME', getenv('DB'));
define('DB_USER', getenv('us'));
define('DB_PASSWORD', getenv('pa'));
define('DB_HOST', getenv('end'));

我也试过从终端运行它,但错误是一样的。我无法弄清楚是什么导致了这个问题。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Database Error</title>

</head>
<body>
    <h1>Error establishing a database connection</h1>
</body>
</html>

他们错过了什么吗??

【问题讨论】:

  • 你解决过这个问题吗?

标签: php wordpress environment-variables


【解决方案1】:

您正在为数据库用户名、密码和主机更改常量定义相同的 DB_NAME 常量

这样试试

define('DB_NAME', getenv('DB'));
define('DB_USER', getenv('us'));
define('DB_PASSWORD', getenv('pa'));
define('DB_HOST', getenv('end'));

【讨论】:

  • 您确定环境变量的值正确吗?
  • 是的,我尝试使用值而不是 env 变量进行连接,它可以工作。但是使用 Env 变量运行它会产生连接错误。
  • 确定环境变量已设置?尝试回应他们并检查
  • 在这种情况下它应该可以工作,此错误仅在连接字符串错误时显示,请仔细检查所有信息是否正确
  • 现在出现这个错误 - 有没有人诊断出这个鬼问题?
【解决方案2】:

或者你可以创建 .htaccess 文件,你会说 SetEnv DB Abc; 并在 php echo DB 中;

【讨论】:

【解决方案3】:

我收到了同样的错误。看起来我的wp-config.php 从两个不同的位置被调用了两次。我引用 .env 文件的方式不正确。

如果你在 wp-config.php 中做类似的事情:

$dotenv = Dotenv\Dotenv::create(__DIR__);
if(file_exists(".env")) {
    $dotenv->load();
}

正确的方法是在文件前引用正确的路径。像这样:

$dotenv = Dotenv\Dotenv::create(__DIR__);
if(file_exists($_SERVER['DOCUMENT_ROOT'] . '/' . '.env')) {
    $dotenv->load();
}

当我像这样调用环境变量时,这最终解决了我的问题:

define( 'DB_HOST', getenv('DB_HOST') );

【讨论】:

    猜你喜欢
    • 2015-10-08
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多