[英]“failed to open stream: Permission denied” after 777 my entire app
我正在種幾根白發,試圖解決這一問題。
在我的Laravel項目中,突然之間,由於抱怨權限,我無法將任何文件直接上傳到我的符號鏈接的公共/存儲中。
然后,我對應用程序中的每個文件進行777處理(我知道,我知道),但它仍然在抱怨權限。 我還運行過composer dump-autoload
,它似乎從未做過任何事情,但我認為我還是會嘗試一下。
有誰知道我還能嘗試什么? 我可以確認所有內容都是777,所以我看不到為什么任何權限都會失敗...
Gah,對不起,這有點像鯡魚。
777不能正常工作,因為上傳的文件被設置為644(所以我的手冊777僅適用於已經存在的文件)
供以后參考,如果任何人正在使用Laravel並且排隊的作業無法訪問644文件,請在上傳后立即將文件設置為664( apache
擁有上傳的文件,但是www-data
(或ec2-user
)是嘗試使用的文件)排隊時訪問)。
SE Linux可能是罪魁禍首,因為在某些情況下,例如,政策會發生變化。 當有損壞的模塊時,它將陷入混亂。 可能是setsebool -P httpd_read_user_content 1
(如果這會引發錯誤,那么手動刪除損壞的模塊是唯一setsebool -P httpd_read_user_content 1
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.