使用任务调度器运行yii2脚本

使用任务调度器运行yii2脚本,yii2,taskscheduler,Yii2,Taskscheduler,我想在yii2 advanced中自动运行我的操作方法。我把代码放在控制台/控制器上。代码如下: MailController.php <?php namespace console\controllers; use Yii; use yii\console\Controller; use Swift_TransportException; class MailController extends Controller { public function actionSend

我想在yii2 advanced中自动运行我的操作方法。我把代码放在控制台/控制器上。代码如下:

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

添加参数(可选):-fc:\xampp\htdocs\Baru\advanced\console\controllers\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';
        }
    }
}

?>

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

您需要通过以下方式调用控制器操作:

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

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


有关详细信息,请参阅或。

请指导在任务计划程序中放置此命令的位置。我没有试图发送邮件,而是需要在表中插入一行。当我在控制台中运行控制器/操作时,我能够插入一条记录。但是当运行任务调度器时,记录不会保存在数据库中。任务计划程序中有两个字段。程序和参数。把你的答案放在哪里。我在调度程序中没有遇到任何类型的错误。将显示任务已成功完成。