【发布时间】:2013-03-11 15:07:21
【问题描述】:
好的,我查看了其他所有线程,并完全按照他们所做的以及手册中的说明做了,我终其一生都无法弄清楚这一点。 cron 作业的结果正在通过电子邮件发送到我的一封电子邮件。它所做的只是打印出布局的 html 标记......并打印基本页面内容......就像它没有注册任何东西一样。
php /home/jdstable/public_html/dev/index.php cron decrease_pets_stats
那是我的命令行。我也尝试用 user/local/bin/php 替换 php,但没有成功。问题是我还有其他 cron 作业运行程序 PHP 代码,这些代码可以与 php path/to/cron.php 一起正常工作...但它不适用于 CI ..
我的控制器是 Cron,我的方法是 reduction_pets_stats..
//decrease pets stats
public function decrease_pets_stats() {
$this->load->model('Cron_model', 'cron');
$this->cron->decrease_pets_stats();
echo 'Decreased pet stats';
}
这里是方法的逻辑:
//decrease pets stats
//runs every hour
public function decrease_pets_stats() {
$this->db->set('hunger', 'hunger - 5');
$this->db->set('happiness', 'happiness - 5');
$this->db->set('loyalty', 'loyalty - 5');
$this->db->update('user_creature');
}
有谁知道为什么它只是打印布局标记?我的构造函数如下所示:
public function __construct() {
parent::__construct();
if( ! $this->input->is_cli_request()) show_error('Direct access is not allowed');
$this->load->model('Cron_model', 'cron');
}
我的父构造函数包含很多东西(加载帮助程序和库,以及在用户登录时让用户信息出现在每个页面上。
在打开控制器 Cron 类之前,它是否位于控制器的顶部是否重要?
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
【问题讨论】:
标签: codeigniter cron