我在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开发环境。 谢谢!
答案 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更新,不得不重新应用上述步骤