在OS X 10.7上使用PHP 5.3作为Apache 2的Apache模块。
当我打开terminal并inputecho $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
但是当我在PHP中运行getevn('PATH') ,我得到:
/usr/bin:/bin:/usr/sbin:/sbin
这意味着在PHP中exec()大部分调用无法find我想要的命令/二进制文件。 我已经在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的PATHvariables来镜像我的用户PATHvariables? (理想情况下,如果我改变了Apache的话,也不需要手动改变。)
将user (指令)更改为您login的用户名。 我不build议在高效的环境下做这件事。 但是为了摆脱困境,在一个封闭的testing环境中,你可以得到你想要的东西。