thinkphp-脚本运行时间越长,占用内存越多直至超内存-解决

ThinkPHP一个进程执行的过程中, 运行到某个切面时会触发记录日志(调用Log.class.php中的record方法), 在记录系统日志的时,ThinkPHP先是给所有日志信息记录在内存里(Log.class.php 中的$Log变量数组),最后一次性写入文件,这样做的目的主要是减少open file的次数,提高写Log的效率。当系统日志信息积累过多时,进程占用的内存空间就会越来越大了。

thinkphp-脚本运行时间越长,占用内存越多直至超内存-解决_第1张图片

修改record方法,定期100条批量保存一次日志到磁盘,同时释放Log

thinkphp-脚本运行时间越长,占用内存越多直至超内存-解决_第2张图片

你可能感兴趣的:(ThinkPHP框架-php)