Php Codeigniter命令行can';插入数据库
我在“myproject/controllers/sample.php”上有这个函数Php Codeigniter命令行can';插入数据库,php,codeigniter,command-line-interface,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-&
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。
这是我的推荐信
编辑:Aril 172017
我刚刚发现,在某些环境中,上面的命令行是有效的。我怀疑这是因为我在Ubuntu14中将PHP5.5转换为5.6,有些依赖项可能没有正确配置 您还需要指定控制器和函数名 示例
php index.php/sample/callTest
您还需要设置一个配置变量,如下所示
$config['uri_protocol'] = 'AUTO'
阅读文件答案隐藏在那里
现在,您通常会使用类似的URL访问您的站点
这:
example.com/index.php/tools/message/to
您还需要指定控制器和函数名 示例
php index.php/sample/callTest
您还需要设置一个配置变量,如下所示
$config['uri_protocol'] = 'AUTO'
阅读文件答案隐藏在那里
现在,您通常会使用类似的URL访问您的站点
这:
example.com/index.php/tools/message/to
如果您使用的是Linux,您可能会在权限方面遇到问题-请尝试在cli上以root或www数据的身份运行此脚本,是否加载视图?它应该并且您将在控制台中看到视图的html。如果您使用的是Linux,您可能在权限方面有问题-尝试在cli上以root或www数据的形式运行此脚本,视图是否加载?它应该是,您将在控制台中看到视图的html。