本文主要介紹了Laravel中log無法寫入問題的解決,文中給了詳細解決方法供大家參考學習,對大家具有一定的參考借鑒價值,需要的朋友們下面來一起看看吧。希望對大家有幫助。
前言
帳號登入報500錯誤,也沒有回傳錯誤訊息,沒辦法只能使用原始方法,到現在一行一行列印。到 Log::info()
後面就無法正常顯示了,那麼問題就找到了。
導致無法寫入日誌的問題,是由於程式碼更新時新增了檔案是 root 用戶,所以建立日誌檔案也是 root 權限,導致其它使用者的 www 權限無法寫入日誌檔案中。
所以修改storage/logs/ 的使用者權限為www
chown www:www storage/logs -R
#注意:如果使用者使用supervisord服務運行佇列的話,如果佇列裡有日誌記錄,那麼運行的用戶也需要改成www 用戶。
問題2
同樣是日誌無法記錄問題,這裡是本機環境使用php artisan queue:work - -sleep=3 --tries=3
運行。
同樣在 job 寫日誌,權限也是正確,就是無法記錄日誌,任務也正常執行。
最後想到重啟佇列解決此問題,不知道是什麼原因導致。如果有知道的同學請告知一聲。
重啟佇列指令
php artisan queue:restart
其它與日誌無關的問題
問題1
BadMethodCallException in Repository.php line 391: This cache store does not support tagging.
CACHE_DRIVER 改成
CACHE_DRIVER=array
頁面出現此錯誤
View [.] not found.
解決方法,優化,清除配置緩存,路由緩存
php artisan optimize --force php artisan config:cache php artisan route:cache
總結laravel中php artisan migrate的問題
以上是分享解決Laravel無法寫入log的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!