我已经在这几个小时了,而且我没有到达任何地方。
我无法将/ usr / local / bin添加到apache用户PATH变量中。用户没有.profile,我不能su给用户,我无法使用exec从php导出到PATH并添加
SetEnv PATH / usr / local / bin
要么http.conf或.htaccess文件没有区别。我找不到envvars文件来改变它,但我怀疑还有其他一些问题。
我重启了apache,确实是我的服务器。
请帮忙吗?
答案 0 :(得分:6)
结束了Alfe在答案中建议的内容,除了在/etc/init.d/httpd文件中(可以在更新时轻松覆盖),我添加到/ etc / sysconfig / httpd
export PATH = $ {PATH:+ $ PATH:} / usr / local / bin
答案 1 :(得分:1)
查看/etc/passwd
以查看apache用户具有哪个登录shell(在EC2 Ubuntu实例上应该是/bin/sh
,这是/bin/dash
的链接)。然后查看该shell的手册页,找出登录时读取的配置文件。 (适用于用户主目录中/bin/dash
的{{1}}。)在那些内容中,您应该可以根据需要扩展.login
。
编辑:
由于您似乎没有该用户的登录shell:查看启动系统服务的$PATH
脚本。 Apache将成为其中之一。它们以/etc/init.d/*
启动,可能会更改当前用户(例如,更改为apache用户)。在那里,您可以根据需要调整PATH。
然而,修补这些脚本不被视为典型配置。更新可能会覆盖您在那里修补的内容。