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

好吧,实际上是用Linux的计划任务彻底可行,不过…不会-_- php

想了想,能够利用监控宝的定时访问的特征,来执行Whmcs的定时任务. 并发

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

所以,这段代码就诞生了… url

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

一天24小时,监控宝会访问24次,可是,监控宝会有两个节点同时访问,所以24*2=48. code

对php不熟,因此这里不考虑并发的问题.因为涉及到文件操做,因此,没有权限是不行的 内存

放出代码.. get

<?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的.. it

相关文章
相关标签/搜索