usleep非常快速地达到最大限制,如何延长

问题描述:

当服务器没有返回数据时,我将代码置于睡眠状态。但是在空闲一段时间后,它给了我这个错误。usleep非常快速地达到最大限制,如何延长

<b>Fatal error</b>: Maximum execution time of 120 seconds exceeded in 

我知道,更改php.ini中的最大限制将有所帮助。但我不想这样做,因为我没有拥有服务器......所以我无法更改每个客户端服务器的限制。

我该如何设置最大限制为无穷大,或者如果达到最大值时可能会重新连接?

while ($currentmodif <= $lastmodif) 
    { 

     usleep(10000); // sleep 10ms to unload the CPU 
     clearstatcache(); 
     $currentmodif = filemtime($filename); 
    } 
+0

你同时是无穷的循环,而不是退出循环的任何时间,检查你的条件 – ashkufaraz

+0

@ashkufaraz,我虽然不循环条件退出.. – 112233

+0

的ini_set(“的max_execution_time”,300);写在脚本的顶部 –

您必须将其设置为零。零表示脚本可以永久运行。添加下面的脚本的开始:

ini_set('max_execution_time', 0); 
  • set_time_limit(),所以你不能用它来检测它是否成功不返回任何东西。此外,它会抛出一个警告:

    警告:set_time_limit()函数:不能设置时间限制在安全模式下

  • ini_set()回报FALSE失败并不会触发警告。

+0

这也会在安全模式下生效吗? – 112233

+0

我试过set_time_limit(0);它似乎也在工作......哪个更好? – 112233

+0

set_time_limit():无法在安全模式下设置时间限制 – ashkufaraz