【发布时间】:2016-07-25 21:45:17
【问题描述】:
我正在编写一个 cron 工作函数,我的项目是基于 CodeIgniter framework 构建的。以下是我的身份验证服务器中的控制器类 (Cron.php)。
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 时,只显示字符串“hi”而不是“hi welcome”。
但是当我在 Data_controller 构造函数中调用 $this->get_log_update() 以及当我直接从浏览器访问 url 时它也有效
我做了什么傻事还是有更大的问题。
【问题讨论】:
-
如果你尝试从浏览器地址栏获取呢?
-
@siddhesh 抱歉,从浏览器栏访问网址时,我只收到“hi”。
-
为什么Data_controller是从MY_Controller扩展而来,而工作的控制器是从CI_Controller扩展而来的?
标签: php codeigniter cron