使用任务计划程序运行yii2脚本

时间:2016-06-13 03:39:47

标签: yii2 taskscheduler

我想自动在yii2高级中运行我的动作方法。我把代码放在控制台/控制器上。这是代码:

MailController.php

<?php

namespace console\controllers;

use Yii;
use yii\console\Controller;
use Swift_TransportException;

class MailController extends Controller
{
    public function actionSend()
    {
        $mail = Yii::$app->mailer->compose()
            ->setFrom('if414024@students.del.ac.id')
            ->setTo('if414024@students.del.ac.id')
            ->setSubject('Testing');
        try
        {
            $mail->send();
        }
        catch (Swift_TransportException $ste)
        {
            echo 'error';
        }
    }
}

?>

然后我从任务调度程序的操作菜单中进行此配置:

程序/脚本:C:\ xampp \ php \ php.exe

添加参数(可选): - f C:\ xampp \ htdocs \ Baru \ advanced \ console \ controllers \ MailController.php

我想要发送动作。但任务调度程序的结果是0xFF,我没有收到电子邮件。有什么问题?

1 个答案:

答案 0 :(得分:1)

您需要以这种方式调用控制器操作:

C:\xampp\php\php.exe c:\path\to\your\application\yii mail/send

c:\path\to\your\application\yii.bat mail/send

您正在调用yii,而不是直接调用控制器脚本。控制器和动作(路线)只是一个参数。

有关详细信息,请参阅hereguide