我想配置一个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>
他们的东西是否被遗漏?
答案 0 :(得分:1)
您为数据库用户名,密码和主机定义相同的DB_NAME
常量更改常量
试试这个
define('DB_NAME', getenv('DB'));
define('DB_USER', getenv('us'));
define('DB_PASSWORD', getenv('pa'));
define('DB_HOST', getenv('end'));
答案 1 :(得分:0)
或者您可以创建.htaccess文件 SetEnv DB Abc; 并在php echo DB;
答案 2 :(得分:0)
我收到了同样的错误。好像我的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') );