我正在尝试在我设置的本地主机服务器上安装一些软件(称为 Prohits,用于质谱数据管理)。安装的要求之一是我已经wget
安装。因此,我安装了 Homebrew,并wget
通过在终端中输入它来验证它是否已安装。
但是,服务器给我一个错误,说 wget 未安装。我不得不使用旧版本的 PHP 进行安装,所以我想知道这是否是导致此问题的原因。是否必须以wget
某种方式链接到php.ini
旧 PHP 版本的文件,以便服务器识别它已安装?我必须做类似的事情才能识别 PEAR 已安装,这就是我感到疑惑的原因。或者它是否需要包含在内httpd.conf
?
答案1
检查 wget 是否位于运行该应用程序的用户的 PATH 中。
答案2
服务器给出错误,因为 Apache 的$PATH
变量不包含/usr/local/bin
,即wget
位于的目录。虽然系统的 $PATH 变量包含它(因此wget
在控制台中使用有效),但 Apache 的$PATH
变量与它是分开的。
我通过在 Apacheplist
文件中的 $PATH 变量中添加必要的路径(位于/System/Library/LaunchDaemons/org.apache.httpd.plist
OS X 中)解决了这个问题。如果 $PATH 变量已定义,则添加该路径。如果没有,则定义它。因此我在标签内添加了以下内容<dict>
:
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string>
我重启了服务器,服务器wget
被识别了。您还可以使用 检查新路径是否反映在您的 PHP 文件中echo $PATH;
。