Apache-2.2

設置 Apache 的 PATH 環境以匹配使用者

  • December 12, 2011

在 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

exec()這意味著在 PHP 中的大多數呼叫都找不到我想要的命令/二進製文件。我已經嘗試過這兩個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 也不需要手動更改。)

user將(指令)更改為您登錄的使用者名。我不建議在生產環境中這樣做。然而,為了解決問題,在封閉的測試環境中,你會得到你想要的。

引用自:https://serverfault.com/questions/339051