说我想要一个php脚本每小时运行一次ittime函数。除了在服务器上设置cron作业外,我该怎么办?
或者这是不可能的,因为需要打开php脚本才能运行?
感谢。
编辑:我想将一些信息写入日志文件,并根据一些变量将其发送到电子邮件中。
答案 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();
?>