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


How to unset an environment variable using php?

我知道我可以使用设置环境变量

putenv("ENV_FOO=SOMETHING");

并通过获取值

getenv("ENV_FOO");

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

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

然而,一旦通过在bash中的我的开发机器上导出变量

export ENV_FOO=something`

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

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

有没有一种方法可以取消设置当前shell会话的环境变量,或者我必须更改测试变量是否存在的方式?

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
?>