PHP putenv()没有更新

时间:2014-10-30 12:56:12

标签: php apache

在我的apache实例上,它设置了一个env变量APP_ENV=development。我试图在我的PHP端(在启动测试套件的实例中)动态地更改它,如下所示:

putenv('APP_ENV=testing')
var_dump(getenv('APP_ENV')); // still returns development

我试过了:

  • 在php.ini
  • 中以安全模式启动php
  • 在php.ini中设置safe_mode_allowed_env_vars = PHP_ APP_

更新

我使用的是PHP版本5.4.16,并注意到安全模式已被弃用。我不确定这是否意味着putenv甚至可以覆盖甚至取消现有的环境?

2 个答案:

答案 0 :(得分:6)

您正在使用Apache变量,因此,您应该使用apache_setenv()apache_getenv()

apache_setenv('APP_ENV', 'testing');

要恢复它,请使用:

apache_getenv('APP_ENV');

答案 1 :(得分:0)

文档说该列表需要以逗号分隔。

尝试PHP_,APP _