任何人在使用php 5.2.12时遇到问题在尝试包含()文件时会出现很多“最长执行时间”错误?
我似乎无法在php.net中找到该错误,但它一直在许多脚本上给我们错误。
任何人都可以推荐解决方案吗?
使用php 5.2在其他几台服务器上运行相同的脚本没有任何问题。所以只是为了让你们知道这不是脚本问题。
答案 0 :(得分:3)
这更可能是您的代码的问题,而不是特定版本的PHP。默认情况下,PHP的最长执行时间为30秒,您可以通过调用set_time_limit()或调整php.ini设置来修改。
如果你没有做一些你期望花费很长时间的事情,那么通常这个错误的原因是代码中某处的无限循环。我会在一些关键位置抛出debug_print_backtrace()和几个exit()
来电并尝试找出哪个档案给你带来了悲伤,然后仔细看看那里。也许你被困在一个无限的include()
层次结构中,在这种情况下你应该使用include_once()来表示你的所有类和函数库文件。
答案 1 :(得分:1)
我会检查以确保不会以某种方式一次又一次地请求相同的包含。您可以尝试include_once()
,看看它是否会改变您的想法。这不是一个解决方案,因为它是一个潜在的临时修复。如果确实一次又一次地调用它,你应该找出造成这种情况的原因。
答案 2 :(得分:0)
如果你有xdebug设置和支持调试的IDE,这将是深入研究代码的好方法。 否则,您是否可以尝试将一些输出语句放在包含文件的第一行和PROIR行中以调用include。看看发生了什么......