Я пишу функцию задания cron, и мой проект построен на CodeIgniter framework
. Ниже приведен мой класс контроллера (Cron.php
), присутствующий на моем сервере аутентификации.Невозможно вызвать функцию контроллера CodeIgniter из командной строки
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);
}
}
И следующий мой Data_controller
класс присутствует в моем сервере проекта.
class Data_controller extends MY_Controller {
public function __construct() {
parent::__construct();
echo "hi ";
}
public function get_log_update() {
echo "welcome";
}
}
Когда я выполнил php index.php cron log_update
из командной строки аутентификации сервера, только строка «привет» получает отображается вместо «привет приветствовать».
Но это работает, когда я называю $this->get_log_update()
внутри конструктора Data_controller, а также, когда я прямой доступ к URL из браузера
Я сделал что-нибудь глупое или есть большая проблема.
насчет если и попытаться получить его из адресной строки браузера? – siddhesh
@siddhesh Извините, я получаю только «привет» при доступе к URL из панели браузера. – DhiwaTdG
Почему Data_controller простирается от MY_Controller, но контроллер, который работает, выходит из CI_Controller? – chugadie