2016-12-16 16 views
1

PHP在Apache上运行:PHP在Apache中:运行putenv没有效果

if (! putenv ('PATH=/my/path:'.getenv('PATH'))) 
    print 'putenv failed'; 
else 
    print getenv("PATH"); 

这将打印/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,我指定的路径是不存在的。为什么不?

+0

你真的做了'GETENV()'在同一个脚本为'运行putenv()'?那么它应该工作。如果您希望更改在不同脚本之间持续存在,那不是环境变量的工作方式。环境由子进程继承,它们不传播回父进程。 – Barmar

+0

绝对在同一个脚本中。连续的行,甚至。 – spraff

+0

我无法复制它。我使用的是NGINX,而不是Apache,但我认为一旦进入PHP之后,这应该会有所作为。 – Barmar

回答