![](/img/trans.png)
[英]Amazon EC2 instance installed apache as root, not ec2-user
[英]Setting path variable for apache user on Amazon Ec2
我已经在这个问题上呆了几个小时,但我什么也没得到。
我无法将/usr/local/bin
添加到 apache 用户PATH
变量中。 用户没有.profile
,我不能su
给用户,我不能使用exec
和添加从 php 导出到PATH
SetEnv PATH /usr/local/bin
无论是http.conf
还是.htaccess
文件都没有区别。 我找不到envvars
文件来更改它,但我怀疑还有其他问题。
我已经重新启动了 apache,确实是我的服务器。
请问有什么帮助吗?
最终遵循 Alfe 在他的回答中建议的内容,除了我添加到/etc/sysconfig/httpd
的/etc/init.d/httpd
文件(可以在更新时轻松覆盖)之外:
export PATH=${PATH:+$PATH:}/usr/local/bin
查看/etc/passwd
以查看 apache 用户拥有哪个登录 shell(在 EC2 Ubuntu 实例上,它应该是/bin/sh
,它是/bin/dash
的链接)。 然后查看该 shell 的手册页,找出登录时读取的配置文件。 (对于/bin/dash
这将是用户主目录中的.login
。)在那些中,您应该能够根据需要扩展您的$PATH
。
编辑:
由于您似乎没有该用户的登录 shell:查看启动系统服务的/etc/init.d/*
脚本。 Apache 将是其中之一。 它们以root
身份启动并且可能会更改当前用户(例如,更改为 apache 用户)。 在那里,您可以根据自己的喜好调整 PATH。
但是,修补这些脚本不被视为典型配置。 更新可能会覆盖您在那里修补的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.