Codeigniter命令行不能插入数据库

时间:2017-04-06 11:52:11

标签: php codeigniter command-line-interface

我在myproject / controllers / sample.php'

上有这个功能
public function callTest() 
{
    $this->load->database();
    $this->db->query("INSERT INTO table_name (client_id, subscription_id, platform, device) VALUES (1, 1, 1, 1)");

    $this->load->view('sample');
}

每当我在浏览器上运行它(localhost / index.php / sample / callTest)时,它就会成功运行并在表上​​插入数据,但是当我使用命令行(php index.php sample callTest)时,SQL不会跑。

我删除了数据库部分,它显示了视图的代码,我认为是正确的。但是如果我把数据库逻辑放到它上面,它就不会运行并且输出是空白的。也没有错误日志。

我做错了吗?我错过了一个论点吗? 我的codeigniter版本是2.2.6。 这是我的参考https://www.codeigniter.com/userguide2/general/cli.html

编辑:Aril 17,2017

我刚才发现,在某些环境中,上面的命令行有效。我怀疑这是因为我在Ubuntu 14中将PHP 5.5转换为5.6,可能无法正确配置某些依赖项。

1 个答案:

答案 0 :(得分:0)

您还需要指定控制器和函数名称,

示例

php index.php/sample/callTest

您还需要设置一个配置变量,如下所示

$config['uri_protocol'] = 'AUTO'

阅读文档答案隐藏在那里。

  

现在,您通常会使用类似的网址访问您的网站   这样:

     

example.com/index.php/tools/message/to