這篇文章主要介紹了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
最近在使用Zizaco\Entrust 這個權限包…
再加入角色的時候…報了一個錯誤..
##
BadMethodCallException in Repository.php line 391: This cache store does not support tagging.應該是這個套件裡有個地方用了laravel 的cache,預設的cache是file把.env 裡的
CACHE_DRIVER 改成
CACHE_DRIVER=array
問題2
#
View [.] not found.解決方法,最佳化,清除設定緩存,
路由快取
php artisan optimize --force php artisan config:cache php artisan route:cache
#總結
以上是關於Laravel框架中log無法寫入問題的解決方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!