PHP后台echo过多会导致进程崩溃

| Comments

这是去年晚些时侯发现的一个问题。

公司产品的后台定时任务应该是用独立的PHP进程驱动的。在做一个项目的时候,为了便于手工调试,我在定时任务中使用了大量的echo输出信息并在浏览器中手工执行此任务的脚本。

手工执行通过,输出信息完全没有问题。但在实际运行的过程中,一个很诡异的事情发生了:即使我将实际处理数据的代码全部注释掉,只对原始数据做简单的查询,此定时任务仍然极其健壮地中途退出。最要命的是无论程序日志还是PHP的错误日志,都没有任何相关信息。直到后来我把所有echo输出都取消,问题才解决。

事后模糊地记得很久以前似乎在哪本书上看到过在无输出设备的情况下echo过多数据会导致PHP进程崩溃的内容,但原因已想不起来了。

Comments