geo*_*per 2 php command-line codeigniter
有没有办法阻止会话类在从命令行调用时设置cookie并在数据库中添加记录?
我认为最简单的方法是扩展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();
}
}
Run Code Online (Sandbox Code Playgroud)
只需将其放在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');
}
}
Run Code Online (Sandbox Code Playgroud)
当您从浏览器调用该功能时,会话已设置,当您从cli调用它时,它不会.