CodeIgniter CLI使用模型时返回空白。如何安全地运行cron?

问题描述 投票:0回答:2

我正在尝试使用CodeIgniter从命令行运行cron。

最初它返回一个空白,但是利用Codeigniter论坛,我发现版本2.1.3中存在错误,需要在Input.php中进行行编辑

这是固定的。仍然没有用,只是在加载我的主页。

[更多的搜索使我在配置中将uri_protocol更改为AUTO,最后,CLI正在使用CI网站上概述的示例。

但是,当我在cron控制器中使用模型时,CLI再次返回空白bangs head

控制器

<?php

class Cron extends CI_Controller
{
   public function admin_update()
   {

      $this->load->model('admin_model');
      $this->admin_model->admin_cron(); 
   }
}

模型功能

function admin_cron()
{
   $this->load->database();
   echo "two";
}

似乎是破坏它的$ this-> load-> database()行。就像我删除它时输出“两个”。

有人知道为什么吗?

谢谢

codeigniter command-line cron crontab
2个回答
0
投票

您没有为$ this-> load-> database()提供任何输入。

相反应该是这样

var $DB; //global variable
$this->DB = $this->load->database('database1',TRUE);

现在使用$ this-> DB来运行数据库操作,

$this->DB->query($query); 

将这些配置项放在config / database.php中

$db['database1']['hostname'] = 'serverIP';
$db['database1']['username'] = 'username';
$db['database1']['password'] = 'pwrd';
$db['database1']['database'] = 'DB name';
$db['database1']['dbdriver'] = 'mysql';
$db['database1']['dbprefix'] = '';
$db['database1']['pconnect'] = FALSE;
$db['database1']['db_debug'] = TRUE;
$db['database1']['cache_on'] = FALSE;
$db['database1']['cachedir'] = '';
$db['database1']['char_set'] = 'utf8';
$db['database1']['dbcollat'] = 'utf8_general_ci';
$db['database1']['swap_pre'] = '';
$db['database1']['autoinit'] = TRUE;
$db['database1']['stricton'] = FALSE;

PS:http://ellislab.com/codeigniter/user-guide/general/models.html#conn

上面的链接是关于如何连接到数据库的>]


0
投票

我知道这是一个老人们,

© www.soinside.com 2019 - 2024. All rights reserved.