有没有办法阻止会话类在从命令行调用时设置cookie并在数据库中添加记录?
答案 0 :(得分:6)
我认为最简单的方法是像这样扩展Session类:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Session extends CI_Session
{
public function __construct()
{
$CI = get_instance();
if ($CI->input->is_cli_request())
{
return;
}
parent::__construct();
}
}
只需将其放在application/libraries
文件夹中即可。并使用这样的控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller
{
public function no_cli_session()
{
$this->load->library('session');
$this->session->set_userdata('logged', 'yes');
}
}
当您从浏览器调用该功能时,会话已设置,当您从cli调用它时,它不会。