我最近遇到了一个挑战我编程能力的问题,这是一个非常偶然的无限循环。我重写了一些代码来干掉它,并更改了一个被它调用的确切方法重复调用的函数;一个基本的问题,当然。Apache 决定通过崩溃来解决问题,日志只记录了“生成的子进程”。问题是我那天没有真正调试完这个问题,它在下午突然出现,今天不得不解决它。
最后,我的解决方案很简单:手动记录逻辑,看看发生了什么。当我有一个由两行独特的日志文件组成的日志文件时,问题立即显现出来,然后是两行,每行重复大约 200 次。
有哪些方法可以保护自己免受无限循环?而且,当它失败时(它会失败),追踪它的最快方法是什么?确实是最有效的日志文件,还是其他?
如果这是最佳实践,您的答案可能与语言无关,但我宁愿坚持使用 PHP 特定的技术和代码。