背景
最近写了一个脚本来跑数据,但是发现有时候这个脚本是没有报错信息,有时候又有,直接运行脚本的话,php的错误信息被打印在控制台上,但是却没有写入error.log,有点郁闷的是,PHP的配置里是如下图
也就是说日志是会记录的,而且错误日志是不会直接打印出来的,那为什么会出现日志写不进去,错误信息却被打印在控制台上呢
解决路径
使用 strace 这个命令追踪,最近也是从部门里的技术大佬那边极力推荐排查问题的时候使用 strace 来排查,也就想正好可以用这个工具来练练手
科普一下
strace 这个工具是用来追踪我们一个程序或者进程在运行过程中所调用到的系统底层命令,这些都是linux的一些系统指令
具体介绍可以看这位大佬写的blog:https://www.linuxidc.com/Linux/2018-01/150654.htm
追踪过程
我这里使用另外一个测试脚本来复现
我写了一个 test2.php 文件,内容如下