php超时(暂停时间)



我正试图找出如何暂停php中的循环,使其每5分钟执行一次,例如

while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
    //send email to a member
   // pause for a minute then continue the loop
}

的简单示例

for($x=0;$x<=4;$x++){
  echo $x."<br>";
  sleep(5);
  // the loop will be delayed for 25 seconds then it'll print 5 lines at once
}

这个脚本可以按您的期望工作。循环的每次迭代都会延迟5秒。但是,您看到的是发送到浏览器的输出,它在特定时间(通常是脚本执行完成时)由PHP缓冲和传递。

您可以尝试使用ob_get_contents()来检索每次迭代的输出缓冲区。

PHP手册:ob_get_contents()

请注意,使用这种方法,您很可能会超过max_execution_time。一份cron工作绝对是前进的方向。或者,您可以保持浏览器打开状态,并强制每5分钟刷新一次(不实用)。

相关内容

  • 没有找到相关文章

最新更新