【laravel】centos上部署laravel項目,出現storage目錄權限問題


The stream or file "/var/www/blog/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied

image

解決:讓httpd以root身份運行或laravel項目創建者身份運行

  • cd /etc/httpd/conf
  • cp -p httpd.conf httpd.conf.copy
  • vim httpd.conf

找到這一項:

User apache
Group apache

修改成:

User root
Group root
  • systemctl restart httpd

原理:

centos下的目錄對訪問者有身份要求,一般是

  • 所有者擁有 讀,寫,執行 權限
  • 組成員擁有 讀,執行權限
  • 其他成員只能讀

而用yum install -y httpd安裝完apache后,默認是使用apache這個身份來運行httpd服務的,所以沒法在storage目錄下創建log文件
在laravel項目文件夾下ll打印一下可以看到:

image

其他人對storage文件夾只有讀和執行的權限: drwxrwxr-x d表示directory,后面的字母分為3組,每3個一組,第一組表示創建者的權限,讀、寫、執行;第二組表示組成員的權限,讀、寫、執行;第三組表示其他人的權限,讀、執行。

建議不要用root身份運行,再創建個用戶專門來運行httpd服務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM