Я думаю, что самым простым способом было бы расширить класс 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, это не так.