调试卡住(非终止)PHP进程?

时间:2011-12-22 19:57:07

标签: php debugging gdb

作为通过gdb等进行Linux调试的相对新手,我正在寻找有关我们所看到的问题的帮助。

在托管/托管“VPS”(虚拟专用服务器 - 我们主要,但不完全是,控制配置)上,我们观察到偶尔的PHP进程“永远”。大多数网络点击进出正常,但如果我们自己不识别并杀死它们,这些网页会持续数十分钟。

我想将gdb附加到进程并获得堆栈跟踪,但我不确定如何。我也不确定是否需要在启用调试的情况下运行PHP。

是否有更简单的方法(可能在PHP代码本身中)识别长时间运行的PHP进程?如果它像一个无限的轮询循环一样简单,可能会帮助我们。

1 个答案:

答案 0 :(得分:2)

PHP具有自动终止功能,可防止脚本超过特定时间限制,查看max_execution_time .ini设置和set_time_limit()功能。

你仍然应该弄清楚导致脚本不会死的原因,但这样可以省去手动杀死它们的麻烦。