基于时间的PHP脚本

时间:2009-07-22 02:45:04

标签: php time

说我想要一个php脚本每小时运行一次ittime函数。除了在服务器上设置cron作业外,我该怎么办?

或者这是不可能的,因为需要打开php脚本才能运行?

感谢。

编辑:我想将一些信息写入日志文件,并根据一些变量将其发送到电子邮件中。

4 个答案:

答案 0 :(得分:1)

好吧,我绝对推荐用于此目的的cron作业。但理论上,您可以运行PHP脚本itstime(),休眠一小时,然后循环。但这非常疯狂。

脚本看起来像:

<?php
include('whatever.php');
while(true) {
    itstime();
    sleep(3600);
}
?>

可能会使用nohup php mycrazyscript.php &运行它以将其与终端分离并使其继续运行,并使用pkill -f mycrazyscript来终止它。

这个疯狂的原因是,现在你已经有一个沉睡的PHP进程在每小时59分钟内无所事事,你必须确保它在正确的时间运行和运行,两者都是cron会照顾你。

答案 1 :(得分:1)

只有追加混乱的回答,所以给他信任。

mrlanrat - 见this

答案 2 :(得分:1)

如果您无法访问cron,但可以访问中等忙碌的Web服务器,则可以使用它来每小时触发一次。这就是WordPress需要cron的方法。您可以这样做:

<?php
$lastrun = get_last_run_time(); // get value from database or filesystem
if( time()-$lastrun > 60*60 ) {
  itstime();
  set_last_run_time(time()); // write value back to database or filesystem
}
// The rest of your page
?>

当然,这段代码中有一个相当严重的竞争条件。解决这个问题留给读者练习。

答案 3 :(得分:0)

https://www.setcronjob.com/various other sites,为此提供基于网络的解决方案。您可以将其设置为每小时使用您的代码调用一个PHP脚本或任何您想要的内容

<?php
  itstime();

?>