亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CentOs 7 上的 Laravel 權限被拒絕錯誤

CentOs 7 上的 Laravel 權限被拒絕錯誤

PHP
胡子哥哥 2022-12-30 16:59:39
我剛剛安裝了帶有 httpd、PHP 7.3 和 MariaDB 的 CentOs 7。我用以下配置了虛擬主機:<VirtualHost *:80>  ServerName tenancy  DocumentRoot /var/www/vhosts/tenancy/public</VirtualHost>我得到的應用程序顯示默認的 laravel 歡迎頁面,但是與數據庫交互的每個頁面都得到了SQLSTATE[HY000] [2002] Permission denied (SQL: select * from tenant_modules where (tenant_id = 28))對于每個 api 調用,我都得到了file_put_contents(/var/www/vhosts/tenancy/storage/framework/cache/data/44/d1/44d142505dd1a3b497197e2f459d2aec779e9ed6): failed to open stream: Permission denied我已經將 www 文件夾的權限設置為777 -R甚至完成chcon -R -t httpd_sys_rw_content_t -R \var\www,但仍然沒有任何改變。另外,我已經編寫了一個 php 函數來測試 mysql ext 并且可以正常工作。但是當我跑步時php artisan serve,它工作正常。您知道解決方案是什么嗎?
查看完整描述

1 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

它看起來像一個權限問題。我懷疑你的 Apache 用戶沒有權限在你的 Laravel 應用程序文件夾中讀寫。

我不確定 CentOs 上的 Apache 用戶/組是什么。我會假設它是www-data,請根據需要更改。

免責聲明:這適用于我的機器(Debian),但可能有一些更好的方法來設置你的 Laravel 應用程序權限。歡迎反饋。


  1. 將您的用戶添加到 www-data 組:

    sudo usermod -aG www-data youruser

  2. 更改您的項目用戶和組所有權:

    sudo chown -R youruser:www-data /var/www/your-project/

  3. 將項目文件權限更改為 664:

    sudo find /var/www/your-project/ -type f -exec chmod 664 {} \;

  4. 將項目目錄權限更改為 775:

    sudo find /var/www/your-project/ -type d -exec chmod 775 {} \;

  5. 設置 ACL 權限以確保網絡服務器創建的新文件具有正確的權限:

sudo setfacl -Rdm g:www-data:rw /var/www/your-project/bootstrap/cache/

sudo setfacl -Rdm g:www-data:rw /var/www/your-project/storage/logs/

sudo setfacl -Rdm g:www-data:rw /var/www/your-project/storage/framework/

sudo setfacl -Rdm g:www-data:rw /var/www/your-project/storage/app/


查看完整回答
反對 回復 2022-12-30
  • 1 回答
  • 0 關注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號