>  기사  >  백엔드 개발  >  PHP利用监控宝来执行Whmcs的自动任务

PHP利用监控宝来执行Whmcs的自动任务

WBOY
WBOY원래의
2016-06-20 12:51:231280검색

好吧,其实是用Linux的计划任务完全可行,不过…不会-_-

想了想,可以利用监控宝的定时访问的特征,来执行Whmcs的定时任务.

可是,纠结的地方来了…监控宝最长的监控间隔是1小时…

因此,这段代码就诞生了…

首先,分析一下,假若监控宝每隔1小时会访问一次指定的URL,这样就需要一个计数器,又因不能常驻内存,写SQL麻烦,so,使用文件存放.

一天24小时,监控宝会访问24次,但是,监控宝会有两个节点同时访问,因此24*2=48.

对php不熟,所以这里不考虑并发的问题.由于涉及到文件操作,所以,没有权限是不行的

放出代码..

<?php    /*    * URL: www.okss.net  */    set_time_limit(0);    $fileName = "count.love";    $urls = array("http://my.getvm.net/cron.php"        ,"http://billing.getvm.com/cron.php");    //如果文件不存在    if(!file_exists($fileName))    {        CreateFile($fileName,0);        exit();    }    if (!is_readable($fileName)) {        //文件不存在或者无法读取        die('File does not exist or could not be read!');    }else    {        $count = file_get_contents($fileName);        $count++;        if($count>=48)        {            //监控宝有两个节点同时访问,所以这里不是24小时            foreach ($urls as $key => $value) {                file_get_contents($value);            }            $count=0;        }        echo"$count";        DeleteFile($fileName);        CreateFile($fileName,$count);    }     //创建文件    function CreateFile($fileName,$value)    {        $fp = fopen($fileName, "w+");        fwrite($fp, $value);        fclose($fp);    }     //删除文件    function DeleteFile($fileName)    {        @unlink($fileName);    }?>

测试了一下还是有效果的*^^*

最后,怎么可能告诉你..bae等云产品,以及da,cp面板都是支持cron的..

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP获取$_GET[gsid]值问题다음 기사:PHP 时间与日期