предотвратить cookie при запуске скрипта из CLI в codeigniter - PullRequest
2 голосов
/ 06 декабря 2011

Есть ли способ запретить сессионному классу установить cookie и добавить запись в базу данных при вызове его из командной строки?

1 Ответ

6 голосов
/ 06 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...