我在cmd 窗口下,用 php -f a.php 执行一个php文件。 这个文件是要读取一个大的日志文件,读取一行后就输出内容。由于日志文件有10多个G,执行的时间比较长。 开始执行的时候一切正常, 过了一会【3---5分钟左右】 cmd窗口就没反应了。敲回车也没反应。这是怎么回事呢?
文件中设置如下:
ini_set("memory_limit",'1024M');
set_time_limit(0);
我在cmd 窗口下,用 php -f a.php 执行一个php文件。 这个文件是要读取一个大的日志文件,读取一行后就输出内容。由于日志文件有10多个G,执行的时间比较长。 开始执行的时候一切正常, 过了一会【3---5分钟左右】 cmd窗口就没反应了。敲回车也没反应。这是怎么回事呢?
文件中设置如下:
ini_set("memory_limit",'1024M');
set_time_limit(0);
7 回答5.6k 阅读
4 回答4.2k 阅读
2 回答2.5k 阅读✓ 已解决
2 回答969 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
2 回答3.5k 阅读
1 回答1.2k 阅读✓ 已解决
cli模式下运行php是不需要设置set_time_limit(0)的,程序会根据代码一直运行下去。
你这里应该是因为文件过大,导致程序异常而停止。
如果你的php版本大于5.5,建议使用新特性yield去读取文件,应该就不会出现程序异常退出的问题了。
具体怎么操作,自行百度一下。