如何修复 /home/nginx/domains/mydomain.com/system/Config/BaseConfig.php 中的错误“未定义变量:_ENV”?

如何修复 /home/nginx/domains/mydomain.com/system/Config/BaseConfig.php 中的错误“未定义变量:_ENV”?

我正在尝试在纯 NGINX + PHP-FPM 环境中安装 Codeigniter 应用程序,但它之前是在 apache 中开发的。

为了与 Codeigniter 一起工作而向 Nginx 添加所有适当的规则之后,我遇到了与我的 $_ENV 变量相关的错误。

Undefined variable: _ENV in /home/nginx/domains/mydomain.com/system/Config/BaseConfig.php ?

以下是调用 $_ENV 变量的代码:

case array_key_exists("{$shortPrefix}.{$property}", $_ENV):
                            return $_ENV["{$shortPrefix}.{$property}"];
                            break;
                    case array_key_exists("{$shortPrefix}.{$property}", $_SERVER):
                            return $_SERVER["{$shortPrefix}.{$property}"];

值得一提的是,当 CLI 中发生错误时,我尝试通过运行 php spark task:run task 来调用任务。

到目前为止我尝试做的事情:

1)我已通过以下方式向 PHP-FPM 添加了 _ENV 变量:

env[_ENV] = production

2)我在 CLI 中导出了 ENV 变量:

export _ENV=production

3)我在 Nginx Config 中添加了以下行:

location / {

  fastcgi_param CI_ENV  production;

}

似乎没有任何效果,并且我的 $_ENV 或 $SERVER 变量似乎总是空的,当我尝试运行我的任务时出现相同的错误。

我还能做什么来调试这个问题并设置我的 $_ENV 变量以便与我的应用程序一起正常运行?

答案1

找到解决方案!

将 PHP.INI 中此变量的默认值更改为 off 即可解决问题!

auto_globals_jit = Off

相关内容