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 versuchtephp /home/myusername/public_html/index.php welcome
Es führt korrekt und druckt es „hallo“.
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
ja, aber ich bin mit diesem stecken und kann nicht herausfinden, was ich vermisse – Bharat
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