我在Amazon Elastic Beanstalk实例上安装了Laravel 5.6应用程序。除了图片上传,其他一切都正常。尝试上传图像时,出现以下错误消息。
/var/app/current/storage/app/images/uploadedimage.jpg): failed to open stream: Permission denied
我已经运行以下命令来设置所有权和权限为755。
sudo chown -R ec2-user:ec2-user /var/app/current/storage/app/images/
但是我仍然遇到错误,任何人都可以阐明为什么会发生这种情况以及我应该设置的正确权限吗?
答案 0 :(得分:1)
最后解决了这一问题。之所以出现此问题,是因为apache服务是从其他用户运行的。我使用此命令来查找用户。
ps aux | egrep '([a|A]pache|[h|H]ttpd)' | awk '{ print $1}' | uniq | tail -1
哪个返回了'webapp'的用户-所以现在我运行chmod代码...
sudo chown -R webapp:webapp /var/app/current/storage/app/images/
并且现在一切正常。希望这对遇到同样问题的人有所帮助