我在cmd 窗口下,用 php -f a.php 执行一个php文件。 这个文件是要读取一个大的日志文件,读取一行后就输出内容。由于日志文件有10多个G,执行的时间比较长。 开始执行的时候一切正常, 过了一会【3---5分钟左右】 cmd窗口就没反应了。敲回车也没反应。这是怎么回事呢?
文件中设置如下:
ini_set("memory_limit",'1024M');
set_time_limit(0);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
cli模式下运行php是不需要设置set_time_limit(0)的,程序会根据代码一直运行下去。
你这里应该是因为文件过大,导致程序异常而停止。
如果你的php版本大于5.5,建议使用新特性yield去读取文件,应该就不会出现程序异常退出的问题了。
具体怎么操作,自行百度一下。
要看你的代码了, 如果你是一次性读出来的话, 你的日志文件太大了, 你的内存溢出