当前位置:Gxlcms > PHP教程 > 以前写的计划任务程序,发现有时和预期结果不同

以前写的计划任务程序,发现有时和预期结果不同

时间:2021-07-01 10:21:17 帮助过:22人阅读

URL Path 函数 Windows 服务器

 get_content(self::$url);            echo '运行成功';            $fp = fopen("runtime.txt","w");            fwrite($fp,date("d"));            fclose($fp);        }        $time = file_get_contents("time.txt");        if (($nowtime - $time) >= self::$myselftime)        {            sleep(self::$myselftime);            $this -> get_content(self::$myself);            $fp = fopen("time.txt","w");            fwrite($fp,$nowtime);            fclose($fp);        }    }}$job = new runjob();$job -> main();


程序会自动访问自身,并在18:00的时候访问目标网址http://127.0.0.1/to.php?pwd=123456789,访问一次,但有时发现会访问多次,次数是随机的,出现这种情况的时间也是随机的


回复讨论(解决方案)

PHP没有定时的功能吧。
最保险的方法就是有人访问,然后触发这个“定时”。

可以装个win32的扩展库

由于$this->get_content()请求发出时,web服务器会开出新的线程去接收你的请求(访问自身或者访问你的目标url),这实际上就相当于多个并发的访问。很可能你的文件内容还没写入,新的请求就过来了,因此,if ((self::$urltime_H == date("H")) && (self::$urltime_i == date("i")) && ($time != date("d")))这个判断可能会有效多次。自然会有多次的访问。

人气教程排行