如何使用php取消设置环境变量?

时间:2015-12-03 11:54:29

标签: php bash environment-variables hhvm

我知道我可以使用

设置环境变量
putenv("ENV_FOO=SOMETHING");

并通过以下方式获取值:

getenv("ENV_FOO");

如果未设置变量,getenv("ENV_FOO")将返回false

我有一个功能集可能通过环境变量设置,我想在设置或未设置变量时对行为进行单元测试。

然而,一旦通过

将我的开发机器上的变量导出到bash中
export ENV_FOO=something`

它打破了我的单元测试,因为我无法使用php取消环境变量来测试范围。

我尝试putenv("ENV_FOO=");但这将返回空字符串"",而不是当前shell会话的未设置环境变量。

有没有办法为当前shell会话取消设置环境变量,还是我必须改变测试变量存在的方式?

1 个答案:

答案 0 :(得分:17)

putenv文档页面评论

中试试这个
<?php
putenv('MYVAR='); // set MYVAR to an empty value.  It is in the environment
putenv('MYVAR'); // unset MYVAR.  It is removed from the environment
?>