更改Homebrew Apache PATH变量

时间:2018-08-02 03:40:51

标签: macos apache homebrew

我最近通过Homebrew在Mac上安装了Apache 2.4。 (我以前使用过Apple提供的Apache。)

在PHP脚本中,我对/ usr / local / bin中的可执行文件调用Exec(x),但是由于/ usr / local / bin不包含在Apache的PATH环境变量中而导致执行失败。运行phpinfo()表示PATH为/ usr / bin:/ bin:/ usr / sbin:/ sbin。

我先前已按照here的说明将/ usr / local / bin包含在/System/Library/LaunchDaemons/org.apache.httpd.plist中,但是它不再起作用了,我想是因为我正在使用Apache由Homebrew安装。

我的shell $ PATH包含许多目录,包括/ usr / local / bin,不是这样。

我不想用绝对路径调用Exec,因为我需要在可执行文件位于不同路径的几种环境中运行它。

如何修改Homebrew Apache的PATH变量?谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了答案here

要在将Apache与Homebrew一起安装时更改Apache环境变量,请编辑/ usr / local / Cellar / httpd24 /您的Apache /版本中的homebrew.mxcl.httpd24.plist文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"     "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>homebrew.mxcl.httpd24</string>
  <!-- add this -->
  <key>EnvironmentVariables</key>
  <dict>
   <key>PATH</key>
   <string>/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin</string>
  </dict>
  <!-- end add -->
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/opt/httpd24/bin/httpd</string>
    <string>-D</string>
    <string>FOREGROUND</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

然后重新启动Apache。