我在apache2中设置了我的custom.conf文件:
SetEnv PATH $PATH:/opt/local/lib/mysql5/bin:/this-is-a-test
Run Code Online (Sandbox Code Playgroud)
然而,它不起作用.我打电话的时候:
$hey = shell_exec('env'." 2>&1"); var_dump($hey);
Run Code Online (Sandbox Code Playgroud)
我明白了:
... 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
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?我在Mac上使用Macports开发环境.谢谢!
对于ubuntu服务器,在/ etc/apache2/envvars中,对于centos服务器,在/ etc/sysconfig/httpd中添加:
export PATH=<your php cli path>
Run Code Online (Sandbox Code Playgroud)
并重新启动apache
你试图从 Apache 内部设置 PATH,这对我来说似乎非常奇怪。相反,您应该为您的系统设置 PATH。在 Mac OS X 中,有多种方法可以实现此目的:
用户特定
对于单个用户,您可以编辑 ~/.profile 并添加:
export PATH="$PATH":/opt/local/lib/mysql5/bin:/this-is-a-test
Run Code Online (Sandbox Code Playgroud)
或者您可以创建/编辑 ~/.MacOSX/environment.plist 并以这种方式定义 PATH。
系统范围
在较新版本的 Mac OS X 上,有一个名为“/etc/paths”的文件和一个名为“/etc/paths.d”的文件夹,允许您扩展默认路径。基本上,您将在“/etc/paths.d”中创建一个文件,其中列出您希望添加到默认路径的所有路径。在不支持此功能的 Mac OS X 版本上(您可以根据“/usr/libexec/path_helper”是否存在来判断),可以通过将上面的导出语句放在 /etc/profile 中来编辑所有用户的默认路径。