【问题标题】:sleep() doesn't prevent maximum execution timesleep() 不会阻止最大执行时间
【发布时间】:2019-01-03 07:35:25
【问题描述】:

我正在尝试导入大量数据并出现超时错误。因此,我尝试在我的代码中实现sleep() 函数。

$i = 0;
foreach ( $response as $id => $data )  {
    $i++;

    //Data Import Calls Here


    if ($i > 0 && $i % 5 == 0) { // After every 5 Loop Item Executions
        sleep(5); // Sleep for 5 seconds
    }
}  

5 循环项相当少,不应占用 Apache 中设置的默认最大执行时间(30 秒)。我做错了什么?

【问题讨论】:

  • 你是绝对正确的睡眠不。试试set_time_limit
  • 睡眠不会减少执行时间。你应该采取不同的方式来实现你所需要的。
  • sleep 只是暂停脚本 5 秒,它不刷新执行时间,脚本仍然在执行,但它只是 什么都不做

标签: php timeout


【解决方案1】:

你是绝对正确的睡眠没有。试试set_time_limit

$i = 0;
foreach ( $response as $id => $data )  {
    $i++;

    //Data Import Calls Here


    if ($i > 0 && $i % 5 == 0) { // After every 5 Loop Item Executions
        set_time_limit (30);
    }
}  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 2021-04-03
    • 2015-08-19
    相关资源
    最近更新 更多