2016-07-05 11 views
0

Ich habe einen Index-Methode in Frontend/controllers/FollowupcandidteclientController , wo ich einige Werte kehre zurück nach dieser Controller-Methode ausgeführt wird.Run Frontend Web-Controller-Methode in der Konsole Controller-Methode für cronjob yii2

unten ist mein Code (nur als Referenz)

Klasse FollowupcandidteclientController \ yii \ web \ Controllers {

public function actionIndex() 
    { 

    $a=2; 
    $b=3; 
    $c=$a + $b; 
    return $c; 

} 

}

I cronjob erstreckt sich mit dem Controller-Namen CronjobController eingestellt haben in Konsole/Controller/CronjobController.

In diesem habe ich eine Methode namens runcron().

Ich möchte den followupcandidateclient/Index in dieser cronjob Controllerruncron Methode

Unten ist mein Code für cronjob

Namespace Konsole \ Controller ausgeführt werden;

Verwendung Yii;

Verwendung yii \ console \ Controller;

Klasse CronjobController erweitert -Controller {

public function actionRuncron(){ 

hier diese Aktion index.php laufen? R = followupcandidateclient/index wenn der cronjob

 } 

ausgeführt wird}

?>

Es wäre großartig und sehr dankbar, wenn irgendein Körper mir zu diesem Thema hilft. Vielen Dank im Voraus.

+0

bitte jemand helfen mir dabei ist es sehr kritisch –

Antwort

0

Ich denke, der kürzeste Weg für Sie ist nur curl es.

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "yourdomain/index.php?r=followupcandidateclient/index"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
curl_close($ch); 

// use $output if needed 

Wenn Sie es nicht in cron über das Internet zugreifen können, dann können Sie PHP-Server wie folgt aus (mit den entsprechenden Port-Nummer) beginnen:

$ cd /path/to/your/index.php/ 
$ PHP -S localhost:8002 

dann in curl Anfrage können Sie localhost:8002 anstelle von yourdomain