我已经用RDS在EC2 (Amazon2Linux)上建立了一个Wordpress站点,它运行得很好。现在,我正在尝试使用.env从https://github.com/vlucas/phpdotenv文件中加载环境变量。
composer require vlucas/phpdotenv,现在有/var/www/供应商、composer .json和.lock文件。composer.json:
{
"require": {
"vlucas/phpdotenv": "^4.1"
}
}我的.env文件如下(已编辑的值):
DB_NAME=DBNAME
DB_USER=USERNAME
DB_PASS=PASSWORD
DB_HOST=HOSTNAME我在wp-config.php顶部添加了以下内容,但随后我得到了可怕的Wordpress白色死亡屏幕。
<?php
require_once(__DIR__ . '/vendor/autoload.php');
(new \Dotenv\Dotenv(__DIR__))->load();我添加了环境变量,如下所示,但是即使我返回到手动条目,上面的代码也会显示白色的屏幕。
/** 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_PASS'));
/** MySQL hostname */
define( 'DB_HOST', getenv('DB_HOST'));我做错了什么?
发布于 2020-03-10 17:07:36
我设法修好了它,尽管在过去的24小时里我把头发拔了出来。
if(file_exists(__DIR__ . '/vendor/autoload.php')) {
require_once __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
}
if(file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
require_once dirname(__DIR__) . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
}在搜索之后,我发现使用IF语句检查文件和目录是否已经存在。我的作曲家和.env都住在离web根目录(/var/www/html/)高一级,所以我不需要改变这一点。
此外,我还用vlucas在其.env页面上的代码示例加载了GitHub。
https://stackoverflow.com/questions/60621353
复制相似问题