最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于laravel 日志寫入失敗問題匯總

 更新時間:2019年10月17日 15:55:10   作者:崔崔丶  
今天小編就為大家分享一篇關(guān)于laravel 日志寫入失敗問題匯總,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Throw問題

項目部署到Linux 服務器上后有時會出現(xiàn) 每日日志無法寫入的問題。由此匯總一下常出現(xiàn)的問題及解決方式。

權(quán)限問題

導致無法寫入日志的問題,是由于代碼更新時添加了文件是 root 用戶,所以創(chuàng)建日志文件也是root 權(quán)限,導致其它用戶的 www 權(quán)限無法寫入日志文件中。

所以修改 storage/logs/ 的用戶權(quán)限為 www

chown www:www storage/logs -R

注意:如果用戶使用supervisord服務運行隊列的話,如果隊列里有日志記錄,那么運行的用戶也需要改成 www 用戶。

還有一種解決方式,就是修改日志的源碼。

laravel在web模式下產(chǎn)生的日志文件(storage/logs)由www-data用戶創(chuàng)建,而在命令行(php artisan)模式下是由當前登錄系統(tǒng)用戶創(chuàng)建。

這兩個用戶不在同一個組下,就導致后操作的功能無法對日志文件進行寫操作。解決這個問題需要修改Laravel在使用Monolog框架時的源代碼。

需要修改的文件在 vendor/laravel/framework/src/Illuminate/Log/Writer.php 第229行。

$handler = new RotatingFileHandler($path, $days, $this->parseLevel($level))

改為

$handler = new RotatingFileHandler($path, $days, $this->parseLevel($level),true,0777)

該代碼在useDailyFiles函數(shù)中,因為config/app.php中對日志框架的配置是

'log' => 'daily',

所以使用的是RotatingFileHandler,構(gòu)造函數(shù)中第五個參數(shù)是指定創(chuàng)建文件的權(quán)限。

用戶問題

用戶問題,也算是權(quán)限問題。我用這個方式解決的問題。

首先 crontab -l 查看定時任務,laravel 的定時任務定義在這里。

crontab -e 修改定時任務。一切依舊。定時任務也執(zhí)行了。第二天,開始出現(xiàn)日志不可寫的問題。

解決步驟1:修改 crontab -u www -e 定時任務配置給 www 用戶,去掉root 的定時任務。第二天不再出現(xiàn)日志不可寫問題。

結(jié)果定時任務不再執(zhí)行。沒遇到過這樣的情況,于是同時給www 用戶和 root 用戶 都配置了 定時任務。結(jié)果還是日志不可寫。

解決步驟2:經(jīng)過一番掙扎的搜尋 ,打開了最后一次的日志。

* 號 是代表可能會有很多個 cron 開頭的日志,打開最后一個即可。

vi /var/logs/cron* 

如圖:

看到定時任務的錯誤日志,進入home 目錄,建立www文件夾。賦予權(quán)限。完成問題的解決。

以上這篇關(guān)于laravel 日志寫入失敗問題匯總就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

九龙城区| 扶绥县| 兰溪市| 长子县| 龙泉市| 凌云县| 阿拉善右旗| 普洱| 湛江市| 加查县| 电白县| 松原市| 彭水| 武宁县| 万盛区| 诸暨市| 鹤峰县| 城市| 牡丹江市| 寿阳县| 额敏县| 南漳县| 兰考县| 鄯善县| 甘孜| 游戏| 普格县| 丽水市| 志丹县| 莱州市| 东乌| 布尔津县| 普陀区| 虎林市| 巴青县| 鄂伦春自治旗| 上虞市| 昂仁县| 海门市| 宝应县| 洛川县|