作为通过gdb等进行Linux调试的相对新手,我正在寻找有关我们所看到的问题的帮助。
在托管/托管“VPS”(虚拟专用服务器 - 我们主要,但不完全是,控制配置)上,我们观察到偶尔的PHP进程“永远”。大多数网络点击进出正常,但如果我们自己不识别并杀死它们,这些网页会持续数十分钟。
我想将gdb附加到进程并获得堆栈跟踪,但我不确定如何。我也不确定是否需要在启用调试的情况下运行PHP。
是否有更简单的方法(可能在PHP代码本身中)识别长时间运行的PHP进程?如果它像一个无限的轮询循环一样简单,可能会帮助我们。
答案 0 :(得分:2)
PHP具有自动终止功能,可防止脚本超过特定时间限制,查看max_execution_time .ini设置和set_time_limit()功能。
你仍然应该弄清楚导致脚本不会死的原因,但这样可以省去手动杀死它们的麻烦。