我在Amazon Linux 2上的aws ec2实例上运行httpd。
为了安装LAMP堆栈,我使用了this link.实例运行完美。
我需要使用shell_exec('sh somescript')
从php执行shell命令。该脚本然后实习生使用sudo mkdir foldername
创建一个文件夹。永远不会创建此文件夹。所以,我直接写shell_exec('sudo mkdir foldername')
。不行。
我试过shell_exec('whoami')
。这输出apache
(因为我从安装中创建的组。)
我试过的其他事情:
httpd.conf
中更改用户和组。(如果我使用ec2-user,则给出错误503,如果我使用root,则无法启动,这会引起注释要求。)我的问题 :
我能够自己解决这个问题。为了将来参考,我所做的只是重新启动实例和所有服务。
我没有必要为httpd更改用户或组。虽然我仍然不确定它是否安全,但我能够在没有它的情况下绕行。