Что может "прервать" сессию ?

StUV

Rotaredom
Что может "прервать" сессию ?

При каждом клике по ссылкам на странице создается новый файл сессии - т.е. открытая в начале скрипта сессия в каком-то месте закрывается, хотя явно я для этого никаких функций не использую.
Каким образом можно "отловить" место прерывания сессии ?
Всем спасибо
 

Фанат

oncle terrible
Команда форума
сессию никто не "прерывает".
ты читал фак? Ты понимаешь, что сессия - это не нечто непрерывное, а лишь сочетание файла на сервере и ид, которые передает браузер?

новая сессия стартует, если скрипт не получает ид сессии.
вот и смотри - почему он у тебя не передается.
 

StUV

Rotaredom
2Фанат:
ок. спасибо.

у мегя:
session.use_cookies = 1
session.use_only_cookies = 1

на сервак пишутся файлы сессии, а на клиентскую машину куки не записываются, хотя в браузере куки разрешены...
В чем может быть проблема ?
 

Фанат

oncle terrible
Команда форума
поставь программку, которая показывает НТТР трафик (мозилла, проксомитрон) и смотри
 

Alkinoy

Guest
Автор оригинала: StUV
2Фанат:
ок. спасибо.

у мегя:
session.use_cookies = 1
session.use_only_cookies = 1

на сервак пишутся файлы сессии, а на клиентскую машину куки не записываются, хотя в браузере куки разрешены...
В чем может быть проблема ?
Если стоит время жизни кук с сессионным ID равное (я про время) 0, то кука НЕ ПИШЕТСЯ на диск. Она храниться в памяти и при закрытии браузера убивается. Вот тебе ответ на этот вопрос и, возможно, на первый.
 

StUV

Rotaredom
2Alkinoy:
вопрос: если я ставлю -
session.use_cookies = 1
session.use_only_cookies = 0
session.use_trans_sid = 1
то все начинает работать - с памятью у меня (у сервака :) тоже все в порядке - в чем еще может быть проблема ?
 

Фанат

oncle terrible
Команда форума
В том, что браузер не принимает куки.
или прокся какая-нибудь режет.
 

StUV

Rotaredom
2Фанат:
браузер точно куки принимает (от того же пхп-клуба например), сайт я тестирую на локалке - так что ...
может проблема заключается в чем-то еще ?
 

Фанат

oncle terrible
Команда форума
может.
не хочешь смотреть заголовки - выводи на каждой странице
print_r($_COOKIE) и session_id()

долго ты будешь нас просить играть в угадайку, вместо того, чтобы самому посмотреть?
 

StUV

Rotaredom
2Фанат:
сорри конечно...
(нахожусь в процессе поиска указанных прог)
в любом случае - спасибо :)
 

Alkinoy

Guest
как часто у тебя пропадает сессия? что этому предшествует? определенное число кликов по страничке или определенное время? Подробнее опиши.
 

StUV

Rotaredom
сессия пропадает после каждого завершения работы скрипта -ставил в начале работы скрипта:
if (!isset($_SESSION['qwerty']))
$_SESSION['qwe'] = 'yes';
а в конце:
echo $_SESSION['qwerty'];
значение выводится, но при этом при каждом (!) клике по линкам сайта на сервак пишется новый файл сессии...

p.s.:
2Фанат:
в конце скрипта:
print_r($_COOKIE) -> array()
echo session_id() -> все ОК (пишет ид сессии)
 

Фанат

oncle terrible
Команда форума
так.
начнем с того, что здесь ты херню какую-то написал. переменные не совпадают

далее.
для чего нужна и что доказывает эта гениальная конструкция -
в начале скрипта написать
$var="value";
А внизу
echо $var
- я не понял абсолютно

и последнее.
ты вставил вывод, который я тебе сказал?
что пишет print_r($_COOKIE)?
 

Alkinoy

Guest
Сделай так. В начале файла напиши
session_start();
$_SESSION[var]=1234;
print "Это кука <br>";
print_r($_COOKIE);
print "<br>";
print "Это ссылка <br>";
print $_SERVER["QUERY_STRING"];

И если у тебя в ссылке будет ай ди сессии, а в куке просто пустой массив - значит у тебя не работают куки. Или РНР их не использует.
и не забудь перед тем как результаты смотреть обновить страничку. То есть открыл разб обновил и только тогда смотришь что получиться.
 

StUV

Rotaredom
2Alkinoy:
вот результат работы такого скрипта (на локалке):

-------------------------
Это кука
Array ( [PHPSESSID] => 365bb439f5e613b5c873b6a58c62225a )
Это ссылка
-------------------------

ps:
в php.ini:
session.use_cookies = 1
session.use_only_cookies = 0
session.use_trans_sid = 1
 

Фанат

oncle terrible
Команда форума
что интересно - для Алкиноя кука есть, а
для меня - array()
;-)
 

StUV

Rotaredom
2Фанат:
там вообще очень много интересного
(см. пост http://phpclub.net/talk/showthread.php?s=&threadid=38304)

... я привел пример работы отдельного скрипта

самое странное что тривиальный пример счетчика из фака работает (и после него и на сайте тоже все работает)...
 
Сверху