Я использую функцию сеанса CodeIgniter, и я запускаю этот код:
$session_id = $this->session->userdata('session_id');
echo "My Session ID is $session_id";
И он постоянно меняется каждый раз, когда я загружаю страницу. Означает ли это, что сессии не сохраняются должным образом? Есть ли способ отладить это и выяснить, почему? Или я не правильно использую эту библиотеку?
Я не получаю никаких ошибок при включении отчетов об ошибках, и я использую возможность автозагрузки CI для загрузки библиотеки сеансов:
$autoload['libraries'] = array('session');
Любой совет поможет, спасибо!
Пример вывода кода выше:
Мой идентификатор сеанса: 7c92bac53d2654df6e87eb4e4cb25467
.. перезагрузить ..
Мой идентификатор сеанса: c6dd14aed2499760f788a1364dcab030
ОБНОВЛЕНИЕ: мои конфигурации сеансов внутри config.php выглядят так:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Итак, я обнаружил, что
session_start();
$_SESSION['myvar']='var';
тоже ничего не хранит, что-то не так с хранилищем сеансов на моем linux-сервере.
Мой путь сохранения сеанса имеет разрешения apache: apache 775. Возможно, это должно быть перенесено в serverfault?