php - crontab 定时执行任务所定的时间怎么做成活的?

查看:162
本文介绍了php - crontab 定时执行任务所定的时间怎么做成活的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

拿yii2框架来讲:
定时配置文件console\config\params.php配置如下:

问题:

1、把上图红框部分的定时从数据库获取,遇到
`PHP Fatal error:  Call to a member function getDb() on null in /home/wwwroot/default/ceshi/vendor/yiisoft/yii2/db/ActiveRecord.php on line 133`
错误,怎么解决?

2、yii2 的params.php如何获取数据库数据?

解决方案

写成匿名函数的形式呢

return [
    'adminEmail'=>'admin@xx.com',
    'cronJobs'=>[
        'contact/send'=>[
                //code
        ],
        'contact/hsend'=>[
            'cron'=>function(){
                //todo 获取数据库中的定时配置(可以在外面写个自定义函数获取)
                $_cron2 = you_function();
                return $_cron2;
            }
        ]
    ]
]



<?php

$data = [
    'cronJobs'=>[
        'send'=>[
            //code
        ],
        'hsend'=>[
            'cron'=>function(){
                return '888888';
            }
        ]
    ]
];
echo $data['cronJobs']['hsend']['cron'](); //这么写

这篇关于php - crontab 定时执行任务所定的时间怎么做成活的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆