我在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,可能无法正确配置某些依赖项。
答案 0 :(得分:0)
您还需要指定控制器和函数名称,
示例
php index.php/sample/callTest
您还需要设置一个配置变量,如下所示
$config['uri_protocol'] = 'AUTO'
阅读文档答案隐藏在那里。
现在,您通常会使用类似的网址访问您的网站 这样:
example.com/index.php/tools/message/to