我试图让Apache / PHP认识到我的混帐path。 我一直在研究和寻找networking的各个angular落,无法find如何做到这一点。 基本上,无论我尝试什么,当我运行echo phpinfo(); Apache Environmentpath不会从/usr/bin:/bin:/usr/sbin:/sbin更改。 而当我运行system('echo $PATH'); 在PHP中,它读取相同。
系统信息:
以下是我尝试编辑到目前为止:
我迄今为止所尝试的任何内容都改变了$PATHvariables。 有任何想法吗?
解
所以这是最终的解决scheme。 我编辑了
/System/Library/LaunchDaemons/org.apache.httpd.plist
并补充说
<key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin</string> </dict>
您可以在/System/Library/LaunchDaemons/org.apache.httpd.plist设置PATH环境变量。
更多在文档中 。
你是否更新用户'_www'的PATH环境变量? Apache将从用户自身运行中读取环境变量。 或者,在更新PATH环境变量后,您看起来没有重新启动Apache。
如果你想在PHP中修改环境变量,getenv()和putenv()可以是更好的选择。
putenv: http ://www.php.net/manual/en/function.putenv.php
$ path = getenv('PATH'); putenv(“PATH = $ path:/ new_path_that_you_want_to_add”);
El Capitan的重要提示(对新答案抱歉 – 我没有足够的代表发表评论)
在OSX 10.11上,/ System / Library文件夹受到保护,因此文件无法编辑。
你需要:
csrutil disable csrutil enable 希望有所帮助
对于ubuntu服务器,在/ etc / apache2 / envvars中,对于centos服务器,在/ etc / sysconfig / httpd中添加:
export PATH=<your php cli path>
并重新启动Apache
类似的问题,我正在安装德比。 我解决这个问题的方式是打开TextEdit。 选择File> Open,此时按下Shift + Command +。 ,这将允许您查看所有文件。 前往用户目录并搜索名为“.profile”的文件。 打开它并添加导出VARIABLE = Value行例如:
export DERBY_HOME = / opt / local / share / java / derby /
保存文档并重新启动您的终端,以查看更改是否已经生效。
我创造了这个帮助我从上面的信息出来的要点:
https://gist.github.com/srayhunter/5208619
我的问题是,PHP没有找到我们已经安装在/ usr / local / bin下的程序。 一旦我们做了上述这一切工作,并发挥了很好的mac osx。