Я столкнулся с проблемой при доступе к сеансу в той же самой папке того же домена. Я работаю над системой, которая использует как CI, так и opencart-системы.
Для входа я использую метод входа в открытый доступ и активирую сессию и получая доступ к ним в CI. Но внутри контроллеров CI я не могу читать сеансы.
Пожалуйста, предложите мне несколько методов, чтобы я мог читать сеансы, созданные с помощью opencart.
Я могу прочитать их, используя этот простой код print_r ($ _ SESSION);
Но в контроллере ничего не работает. Это показывает, что я показываю мне сеансы CI
Вещи, которые я пробовал
1) Нет проблемы с перекрестным доменом
2) В основном файле php я могу читать сеанс
3) В контроллере CI нет возможности читать открытую сессию
Для получения более подробной информации см. Скриншоты
Я бы попробовал с крючками. В $ hook ['pre_controller'] []
if ($_SESSION['customer_id'] != FALSE && !empty($_SESSION['customer_id'] && (int)$_SESSION['customer_id'] > 0)) {
$this->session->set_session('customer', $_SESSION);
session_unset();
}
Чтобы вернуть собственные сеансы, в $ hook ['post_controller'] []
if ( $this->session->userdata('customer') && ! empty($this->session->userdata('customer'))) {
if (!$_SESSION) {
session_start();
}
session_unset();
$_SESSION = $this->session->userdata('customer');
$this->session->unset_userdata('customer');
}
И это для случая выхода из приложения CI и использования OC снова. Не используется, просто пишет громко. Отказ от ответственности: не уверен, что будет работать или как повлияет на производительность.