Я использую функцию сеанса CodeIgniter, и я запускаю этот код:
$session_id = $this->session->userdata('session_id');
echo "My Session ID is $session_id";
И он продолжает меняться каждый раз, когда я загружаю страницу. Означает ли это, что сеансы не сохраняются должным образом? Есть ли способ отладить это и узнать почему? Или я неправильно использую эту библиотеку?
Я не получаю никаких ошибок, когда включаю отчет об ошибках, и я использую возможность автозагрузки CI для загрузки библиотеки сеанса:
$autoload['libraries'] = array('session');
Любой совет поможет, спасибо!
Пример вывода приведенного выше кода:
Мой идентификатор сеанса - 7c92bac53d2654df6e87eb4e4cb25467
.. reload ..
Мой идентификатор сеанса - c6dd14aed2499760f788a1364dcab030
ОБНОВЛЕНИЕ: Конфигурация моего сеанса выглядит так: внутри конфигурации.
$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?