我正在种几根白发,试图解决这一问题。
突然在我的Laravel项目中,由于抱怨权限,我无法直接将任何文件上传到我的符号链接的公共/存储中。
然后我对应用程序中的每个文件进行777处理(我知道,我知道),但它仍然在抱怨权限。我还运行过composer dump-autoload
,它似乎什么也没做,但我认为我还是会尝试一下。
有人知道我还能尝试什么吗?我可以确认所有内容都是777,所以我看不到为什么任何权限都会失败...
答案 0 :(得分:1)
Gah,对不起,这有点像鲱鱼。
777不能正常工作,因为上传的文件被设置为644(所以我的手册777仅适用于已经存在的文件)
供以后参考,如果任何人正在使用Laravel并且排队的作业无法访问644文件,请在上传后立即将文件设置为664(apache
拥有上传的文件,但是www-data
(或ec2-user
)是排队时尝试访问的对象。
答案 1 :(得分:0)
SE Linux可能是罪魁祸首,因为在某些情况下策略会发生变化,例如。当有损坏的模块时,它将陷入混乱。应该是setsebool -P httpd_read_user_content 1
(如果这会引发错误,那么唯一有用的方法就是手动删除损坏的模块)。