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

在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的话,也不需要手动改变。)

  • 密码保护网站
  • 处理程序for(null)返回无效结果代码70007 /导致错误500?
  • 当文件是PHP时,mod_headers不发送头文件
  • 当php脚本需要操作文件时,我应该使用suPHP还是DSO(mod_PHP)?
  • PHP:无需提供直接链接即可下载文件
  • PHP在几台服务器上进行会话共享
  • One Solution collect form web for “设置Apache的PATH环境以匹配用户”

    user (指令)更改为您login的用户名。 我不build议在高效的环境下做这件事。 但是为了摆脱困境,在一个封闭的testing环境中,你可以得到你想要的东西。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.