首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vlucas/phpdotenv,试图加载.env变量的Wordpress白色死亡屏幕

使用vlucas/phpdotenv,试图加载.env变量的Wordpress白色死亡屏幕
EN

Stack Overflow用户
提问于 2020-03-10 15:58:10
回答 1查看 778关注 0票数 0

我已经用RDS在EC2 (Amazon2Linux)上建立了一个Wordpress站点,它运行得很好。现在,我正在尝试使用.env从https://github.com/vlucas/phpdotenv文件中加载环境变量。

  1. wp-config.php位于/var/www (从根目录到html目录的一个级别)中,
  2. 在/var/www/中运行composer require vlucas/phpdotenv,现在有/var/www/供应商、composer .json和.lock文件。

composer.json:

代码语言:javascript
复制
{
    "require": {
        "vlucas/phpdotenv": "^4.1"
    }
}

我的.env文件如下(已编辑的值):

代码语言:javascript
复制
DB_NAME=DBNAME
DB_USER=USERNAME
DB_PASS=PASSWORD
DB_HOST=HOSTNAME

我在wp-config.php顶部添加了以下内容,但随后我得到了可怕的Wordpress白色死亡屏幕。

代码语言:javascript
复制
<?php
require_once(__DIR__ . '/vendor/autoload.php');
(new \Dotenv\Dotenv(__DIR__))->load();

我添加了环境变量,如下所示,但是即使我返回到手动条目,上面的代码也会显示白色的屏幕。

代码语言:javascript
复制
/** 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'));

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-03-10 17:07:36

我设法修好了它,尽管在过去的24小时里我把头发拔了出来。

代码语言:javascript
复制
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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60621353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档