PHP连接超时

时间:2012-11-21 21:43:53

标签: php mysql performance curl timeout

我正在测试一个复杂的项目,该项目涉及由CURL相互链接的几个php文件。我运行主要功能15次。它只运行4次,然后抱怨Maximum execution time of 30 seconds exceeded。当我查看数据库时,我发现每次运行时,操作都会执行完全 4次。会是什么呢?该错误出现在我正在调用其他php文件$data = curl_exec($ch);

的行上

4 个答案:

答案 0 :(得分:0)

请参阅php.ini max_execution_time设置并进行调整。 120240仍然有意义并且没问题,但不要试图将其设置为0来禁用此限制。而是修复您的脚本,即缓存远程文件,而不是一直提取它。总的来说,我希望你的设计能够被打破。通过cURL连接脚本表明您需要API或存在其他一些设计问题

答案 1 :(得分:0)

其他人已经涵盖了最长执行时间,所以一般的想法:

  • 确保您不会不必要地循环。如果你完成了一个循环,“打破”它。请记住,您也可以打破多次迭代。
  • 我没试过这个(纯粹只是思考),但是在执行结束时使用Ajax调用来开始下一次执行呢?我敢打赌,因为你正在发出一个新请求,所以开始执行计时器。

答案 2 :(得分:0)

在php函数的起点设置此函数执行的时间限制。设置0表示无限制。

function doWork() {
    set_time_limit(0);
    /* do your work here */
}

卷曲时间限制:

curl_setopt($ch, CURLOPT_TIMEOUT, 400);

答案 3 :(得分:0)

如果您需要请求多个页面,可以使用curl_multi _ *

同时(并行)执行此操作