suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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如何获取数据库数据?
PHPzPHPz2773 Tage vor561

Antworte allen(2)Ich werde antworten

  • 習慣沉默

    習慣沉默2017-05-16 13:02:57

    写成匿名函数的形式呢

    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'](); //这么写

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:02:57

    (谢邀)抱歉,对于yii2不了解。但是对于TP的做法,我会把动态生成时间配置,在公共控制器读取数据库设置的时间,生成配置参数。这样就可以愉快的使用了(可以参考一下,希望对你有所帮助)。

    Antwort
    0
  • StornierenAntwort