搜尋

首頁  >  問答  >  主體

php - crontab 定時執行任務所定的時間怎麼做成活的?

拿yii2框架來講:
定時設定檔consoleconfigparams.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 天前555

全部回覆(2)我來回復

  • 習慣沉默

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

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:02:57

    (謝邀)抱歉,對於yii2不了解。但對於TP的做法,我會把動態產生時間配置,在公共控制器讀取資料庫設定的時間,產生配置參數。這樣就可以愉快的使用了(可以參考一下,希望對你有幫助)。

    回覆
    0
  • 取消回覆