2016-06-13 58 views
0

我想在yii2高級版中自動運行我的操作方法。我把代碼放在控制檯/控制器上。這是代碼:使用任務調度器運行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('[email protected]') 
      ->setTo('[email protected]') 
      ->setSubject('Testing'); 
     try 
     { 
      $mail->send(); 
     } 
     catch (Swift_TransportException $ste) 
     { 
      echo 'error'; 
     } 
    } 
} 

?> 

然後我做從操作菜單中的任務調度此配置:

程序/腳本:C:\ XAMPP \ PHP \ php.exe的

添加參數(可選):-f C:\ XAMPP \ htdocs中\巴魯\高級\控制檯\控制器\ MailController.php

我想運行發送動作。但是任務調度程序的結果是0xFF,我沒有收到電子郵件。有什麼問題?

回答

1

你需要調用控制器動作是這樣的:直接

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

​​

要調用警予,而不是控制腳本。控制器和動作(路由)只是一個參數。

請參閱hereguide瞭解更多信息。

+0

請指導將此命令放置在任務調度器的哪個位置。我不想發送郵件,而是需要在表格中插入一行。當我在控制檯中運行控制器/操作時,我可以插入一條記錄。但是,當通過任務調度程序運行時,記錄不會保存在數據庫中。任務計劃程序中有兩個字段。程序和參數。把你的答案放在哪裏。我在調度程序中沒有遇到任何錯誤。顯示任務已成功完成。 – Pravin

相關問題