如何添加Apache PATH变量的路径?

时间:2010-05-14 21:17:02

标签: php apache path

我在apache2中设置了我的custom.conf文件:

SetEnv PATH $PATH:/opt/local/lib/mysql5/bin:/this-is-a-test

然而它不起作用。我打电话的时候:

$hey = shell_exec('env'." 2>&1"); var_dump($hey);

我明白了:

... PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin

有人可以帮忙吗?我在Mac上使用Macports开发环境。 谢谢!

4 个答案:

答案 0 :(得分:8)

对于ubuntu服务器,在/ etc / apache2 / envvars中, 对于centos服务器,在/ etc / sysconfig / httpd中, 添加:

export PATH=<your php cli path>

并重新启动apache

答案 1 :(得分:2)

我试图在Apache中设置PATH似乎非常奇怪。相反,您应该为系统设置PATH。在Mac OS X中有以下几种方法:

特定于用户的
对于单个用户,您可以编辑〜/ .profile并添加:

export PATH="$PATH":/opt/local/lib/mysql5/bin:/this-is-a-test

或者您可以创建/编辑〜/ .MacOSX / environment.plist并以此方式定义PATH。

全系统
在较新版本的Mac OS X上,有一个名为“/ etc / paths”的文件,并且有一个名为“/etc/paths.d”的文件夹,允许您扩展默认路径。基本上,您将在“/etc/paths.d”中创建一个文件,该文件列出了您希望添加到默认路径的所有路径。在不支持此功能的Mac OS X版本上(您可以根据“/ usr / libexec / path_helper”是否存在来判断),可以通过将上面的export语句放在/ etc / profile中来编辑所有用户的默认路径。

答案 2 :(得分:0)

此问题已过时,但如果您使用 Windows mod_fcgid检查FcgidInitialEnv是否设置在httpd.conf },并删除它以采用系统路径。

答案 3 :(得分:0)

Macports Apache 2.4安装

我发现让它重新启动的唯一方法是编辑macports apache2.plist。我采取的步骤:

1。sudo /opt/local/sbin/apachectl stop

2。编辑plist:/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist

并添加:

<key>EnvironmentVariables</key>
<dict>
    <key>PATH</key>
    <string>/usr/bin:/bin:/usr/sbin:/sbin:{add paths here}</string>
</dict>

3。sudo port unload apache2

4。sudo port load apache2

5。sudo /opt/local/sbin/apachectl start

路径在重新启动后仍然停留。但是,plist可能会在我进行的下一个macports更新中被擦除。

编辑:事实证明这是事实。我升级了Mojave,并进行了相关的macports更新,不得不重新应用上述步骤