Laravel笔记


在Command里有代码:
$date = date(‘Y-m-d’);
$command = sprintf(‘grep -ioE \’app/:+.php:[0-9]+\’ storage/logs/lumen-%s.log | sort -nr | uniq -c | awk \’$1 > %d\’’, $date, 100);
exec($command, $rs,$return_var);
dump($command,$rs,$return_var);die;

通过定时任务 /10 php /var/www/web/artisan watch watchLog 始终执行失败,$rs为空, 后来发现是定时任务执行时找不到log文件,改成/10 cd /var/www/web && php artisan watch watchLog 就可以了.

另一种解决办法是修改代码:
$date = date(‘Y-m-d’);
$log_file = storage_path(sprintf(‘logs/lumen-%s.log’, $date)); // 绝对路径

近日发现在laravel里加日志监控,如果php-fpm挂掉,日志监控也将无法正常执行;后决定将日志监控移到shell脚本里,独立运行,这保证了监控程序的独立、安全、有效。


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
赏

留言

想法、疑问或勘误,都可以写在这里。留言会公开显示。

 上一篇
Laravel的Job使用指南 Laravel的Job使用指南
Laravel的Job中不要有中断程序的代码,supervisord也是在 Laravel 中,有多种方法可以中断程序执行。然而,在队列任务(Jobs)中使用这些方法时需要特别小心,因为它们可能会导致队列任务被多次执行。以下是一些常见的方法
2026-06-01
下一篇 
SQL LIKE 中的下划线陷阱:如何正确匹配带下划线的字符串 SQL LIKE 中的下划线陷阱:如何正确匹配带下划线的字符串
在日常的数据库查询中,我们经常需要使用 LIKE 操作符进行模糊匹配。当表名或字段名本身包含下划线(_)时,一个隐蔽而常见的错误就可能悄悄出现——下划线在 SQL 的 LIKE 模式中是一个通配符,代表任意一个字符。如果忘记转义,就会匹配出
2026-05-07