设置 Apache 的 PATH 环境以匹配用户

设置 Apache 的 PATH 环境以匹配用户

在 OS X 10.7 上,使用 PHP 5.3 作为 Apache 模块与 Apache 2。

当我打开终端并输入时,echo $PATH我得到:

/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/imagemagick/bin

但是当我getevn('PATH')在 PHP 中运行时,我得到:

/usr/bin:/bin:/usr/sbin:/sbin

这意味着 PHP 中的大多数调用都exec()无法找到我想要的命令/二进制文件。我尝试过以下两个httpd.conf

SetEnv PATH /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/imagemagick/bin

PassEnv PATH

都没有任何效果。如何让 PHP/Apache 的 PATH 变量反映我用户的 PATH 变量?(理想情况下,如果我的变量发生变化,Apache 的变量也不需要手动更改。)

答案1

将(指令)更改user为您的登录用户名。我不建议在生产环境中这样做。然而,在封闭的测试环境中,您可以得到您想要的东西。

相关内容