Я использую localhost в дистрибутиве OpenSuse, и я не могу правильно выполнить PHP сессий.
У меня есть session_start()
для каждого файла, необходимого для запроса, и вот что происходит для простого примера из 2 страниц:
login.php -> index.php
: после отправки формы только с одним вводом (name='loginname'
) форма выполняет действия для индексации. php , В index. php я использую session_start()
, и правильно извлекаю $_POST['loginname']
. Все хорошо. index.php -> login.php
: повар сеанса ie настроен правильно, я вижу это (в моем cookie_save_path И в моем браузере). Теперь, если я нажму на гиперссылку входа, которая ведет к входу в систему. php и содержит session_start()
в начале файла, вместо использования последнего сеанса он вместо этого создаст новый сеанс! Невероятно!
Я проверил много вещей:
php.ini
: я установил специальную папку для session.save_path
, которая иметь доступ 777 (чтобы убедиться, что с этой стороны нет проблем). Я также проверил другой параметр, и все выглядит нормально: session.auto_start : 0
(нет необходимости, я использую session_start()
), session.cache_expire : 180
, session.use_cookies 1
, session.use_only_cookies 1
, session.use_strict_mode 0
, session.use_trans_sid 0
, session.cookie_lifetime 0
, session.cookie_secure 0
... httpd.conf
: у меня была предыдущая ошибка в моем конфигурационном файле, которая отображала что-то вроде «cound не может точно определить полное имя сервера». Эта проблема была исправлена путем помещения ServerName localhost
в мой файл httpd.conf
. - Мой локальный хост работает правильно, единственное, что не работает должным образом, это сеансы. При каждом запросе новой страницы в моем сеансе session.save_path создается новый сеансовый повар ie. Это как PHP не помнит, сессия была открыта ранее. Если я сделаю 20 запросов от
**login->index index->login**
, в моем session.save_path
будет 20 файлов: 10 пустых (логин) 10 с сериализованными данными (индекс после логина).
Если у вас, ребята, есть Любая идея, не стесняйтесь писать здесь.
Заранее спасибо.
С уважением.