Apache-2.2
設置 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
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
將(指令)更改為您登錄的使用者名。我不建議在生產環境中這樣做。然而,為了解決問題,在封閉的測試環境中,你會得到你想要的。