【发布时间】:2011-04-02 19:14:58
【问题描述】:
我目前正在做自己的小项目,但是有一个小问题:我想将$PATH环境变量设置为./bin,这样当我使用exec()和类似的功能时,它只会搜索对于该目录中的二进制文件(除非我另有明确说明)。
我已经尝试过putenv(),除非我启用了安全模式,否则我不希望这样做;我也尝试了apache_setenv(),但这似乎也不起作用。
还有其他我想尝试的解决方案吗?
(我使用的是带有 PHP 5.3.2 的 Linux 机器)
【问题讨论】:
-
您的意思是“除非我禁用了安全模式”吗?
-
@greg0ire,不,除非我启用了安全模式,否则它实际上不会工作。在手册页上亲自查看:php.net/manual/en/function.putenv.php
-
"这些指令只有在安全模式本身启用时才有效!"来自php.net/manual/en/function.putenv.php。这很愚蠢。
-
@sreservoir,确切地说,更糟糕的是安全模式本身已被弃用....
-
是的,我读过这个,我认为“指令”的意思是 safe_mode_protected_env_vars、safe_mode_allowed_env_vars。但是,如果您尝试过...