Ich schreibe eine cron-Job-Funktion und mein Projekt baut auf CodeIgniter framework
nennen. Im Folgenden ist meine Controller-Klasse (Cron.php
) in meinem Authentifizierungsserver vorhanden.Unable CodeIgniter-Controller-Funktion von der Kommandozeile
class Cron extends CI_Controller {
public function log_update() {
$opts = array('http' =>
array(
'method' => 'GET',
'timeout' => 10
)
);
$context = stream_context_create($opts);
$url = "http://lamp.co.uk/project/data_controller/get_log_update";
$contents = file_get_contents($url, TRUE, $context);
var_dump($contents);
}
}
Und Folgende ist meine Data_controller
Klasse in meinem Projekt-Server.
class Data_controller extends MY_Controller {
public function __construct() {
parent::__construct();
echo "hi ";
}
public function get_log_update() {
echo "welcome";
}
}
Wenn ich php index.php cron log_update
von Auth Server-Befehlszeile ausgeführt wird, nur die Zeichenfolge "hallo" wird anstelle von "hallo willkommen" angezeigt.
Aber es funktioniert, wenn ich $this->get_log_update()
innerhalb des Data_controller Konstruktor aufrufen und auch, wenn ich Zugriff direkt die URL aus dem Browser
Habe ich Dummheiten gemacht, oder gibt es ein größeres Problem.
was ist, wenn u versuchen, Adresse von Browserleiste zu bekommen? – siddhesh
@siddhesh Sorry, ich bekomme nur "hi" wenn ich auf die URL von der Browserleiste zugreife. – DhiwaTdG
Warum erstreckt sich Data_controller von MY_Controller, aber der Controller, der funktioniert, erstreckt sich von CI_Controller? – chugadie