在php中间隔执行脚本

时间:2013-02-20 08:55:41

标签: php execute

我想每隔2分钟执行一次脚本,直到我关闭窗口。我的脚本每2分钟执行一次写入文件。我的脚本没有写入文件。请看我的间隔脚本。

<?php
$interval = 1; //minutes
set_time_limit (0);
while (true)
{
  $now=time ();
  echo $now . "<BR>";
  sleep ($interval * 1 - (time () - $now));
}
?>

5 个答案:

答案 0 :(得分:4)

尝试

<?php
function do_stuff(){

  // do something

 sleep(20); // wait 20 seconds
 do_stuff(); // call this function again
}
?>

答案 1 :(得分:1)

您可能需要在每个flush()之后添加echo。此外,sleep需要时间,以秒为单位,而不是几分钟,因此$interval可能应设置为60而不是1

答案 2 :(得分:1)

sleep占用参数秒数,因此您应该写sleep($interval * 60)

答案 3 :(得分:0)

<?php
set_time_limit(0);

$interval=1; //minutes
echo str_repeat(" ", 1024);
while(true) {
    $now=time();
    echo $now."<BR>";
    sleep($interval * 60);
    flush();
}
?>

答案 4 :(得分:0)

sleep()绝对不是解决方案(我想知道为什么甚至在这里考虑......) 经过大量的实验,我得出了以下解决方案:执行&#34;定时&#34; PHP(即间隔执行)通过包含javascript计时器和框架的HTML文件:

0f39ca43...

这是基础(使用localhost)。您可以添加您想要的whaterever功能。