2017-03-21 2 views
0

Ich habe ein Problem mit einem Codeigniter-Controller als Cron. Ich habe einen Cron aus cpanel erstellt, der alle 2 Minites ausführen wird.Wie führe ich Codeigniter-Controller in Cron

Der Befehl i verwendet wird, ist

php /home/myusername/public_html/index.php welcome 

die cron ausgeführt wird, aber die Logik innerhalb willkommen Controller wird nicht ausgeführt. D.h

<?php 
    defined('BASEPATH') OR exit('No direct script access allowed'); 

    class Welcome extends CI_Controller { 

    public function index() 
    { 
     echo 'hi'; 
    } 

} 
?> 

statt Druck „hallo“ druckt den HTML-Code meines Hauses Blick. ich habe in Route

$route['default_controller'] = 'Site'; 

und in "Site" Controller

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Site extends CI_Controller 
{ 
    public function index() 
    { 
      ... 
      ... 
      $this->load->view('site/home', $data); 
    } 
} 
?> 

So setzen, wenn es die HTML für die Site ausgeführt/home gedruckt wird.

Wenn ich

mit dem Befehl mit dem Shell versuchte
php /home/myusername/public_html/index.php welcome 

Es führt korrekt und druckt es „hallo“.

+0

Alles sieht ok, und es ist sicherlich merkwürdig, dass Sie unterschiedliche Ergebnisse mit dem gleichen Code ausgeführt in der Befehlszeile oder cron bekommen würde. Vielleicht gibt es ein Problem mit Ihrer Cron-Syntax und "Willkommen" wird nicht aufgenommen, sodass die Anfrage an den Standard-Controller weitergeleitet wird? – Pacio

+0

ja, aber ich bin mit diesem stecken und kann nicht herausfinden, was ich vermisse – Bharat

+0

Versuchen Sie, eine zweite Funktion in Ihrem Willkommen Controller namens test(), die "test" echos und dann versuchen, dass in einem neuen Cron-Eintrag, der php/ruft home/myusername/public_html/index.php Willkommen Test – Pacio

Antwort

0

versuchen

php /home/myusername/public_html/index.php welcome index 
+0

Entschuldigung, aber das funktioniert nicht für mich – Bharat