我想每小时运行一个php脚本,并且需要从晚上8点到早上8点停止该脚本。
我创建的部分代码
$hour = date('G');
print $hour;
if ($hour >= 21 && $hour <=8)
{
die("Script is halted.\n");
}
cron作业设置为运行小时。但是由于某种原因,它每小时都在运行,并且从晚上8点到晚上8点都没有停止。
答案 0 :(得分:3)
当您只需将cron设置为仅在上午9点到晚上7点之间运行时,在代码中添加条件语句就显得很愚蠢:
0 9-19 * * * php /var/www/vhosts/domain.com/httpdocs/scripts/example.php
有关此说明,请参见crontab.guru。在Windows上,您只需设置要在预定任务中运行的小时数即可。
答案 1 :(得分:2)
更改:
if ($hour >= 21 && $hour <=8)
收件人:
if (($hour >= 21) or ($hour <=8))
或
if (($hour >= 21) || ($hour <=8))
&&
== and
答案 2 :(得分:0)
date_default_timezone_set('UTC');
$New_Time = time() + (6 * 60 * 60);
$Hour = date("G",$New_Time);
if((8>$Hour || 9<$Hour) && (14>$Hour || 15<$Hour) && (20>$Hour || 21<$Hour)){
echo "Your Codes Here
Works nicely On PHP
But change my timestamps.!";
}