這篇文章主要介紹了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 --forcephp artisan config:cachephp artisan route:cache
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!