The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"проблема сессий, дубль sess_* файлов на сесию"
Отправлено wawont, 09-Янв-07 16:26 
Привет.

Образовалась странная проблема с сессиями:
на стороне сервера на образуется два файла сессии на запрос одного браузера.
один пустой, второй содержит информацию о переменных, но при этом, при обращении к другой странице, воспринимается именно пустой файл.

Подскажите кто что заметил (пример с описанием ниже), а то я даже не понял из-за чего все перестало работать. Просто перезагрузил сервер и началась такая "ботва".

Простой пример из доков:
page1.php:

<?php                                                                                                                      
// page1.php                                                                                                                
                                                                                                                            
session_start();                                                                                                            
                                                                                                                            
echo 'Welcome to page #1';                                                                                                  
                                                                                                                            
$_SESSION['favcolor'] = 'green';                                                                                            
$_SESSION['animal']  = 'cat';                                                                                              
$_SESSION['time']    = time();                                                                                              
                                                                                                                            
// Works if session cookie was accepted                                                                                    
echo '<br /><a href="page2.php">page 2 cookie</a>';                                                                                
                                                                                                                            
// Or maybe pass along the session id, if needed                                                                            
echo '<br /><a href="page2.php?' . SID . '">page 2 get</a>';                                                                    
?>

page2.php:

<?php                                                                                                                      
// page2.php                                                                                                                
                                                                                                                            
session_start();                                                                                                            
                                                                                                                            
echo 'Welcome to page #2<br />';                                                                                            
                                                                                                                            
echo $_SESSION['favcolor']; // green                                                                                        
echo "<br>";                                                                                                                
echo $_SESSION['animal'];  // cat                                                                                          
echo "<br>";                                                                                                                
echo date('Y m d H:i:s', $_SESSION['time']);                                                                                
echo "<br>";                                                                                                                
echo SID;                                                                                                                  
                                                                                                                            
// You may want to use SID here, like we did in page1.php                                                                  
echo '<br /><a href="page1.php">page 1</a>';                                                                                
?>

Вывод при нажатии на ссылку "page 2 cookie":
Welcome to page #2

Notice: Undefined index: favcolor in /var/www/htdocs/tour/test/page2.php on line 8


Notice: Undefined index: animal in /var/www/htdocs/tour/test/page2.php on line 10


Notice: Undefined index: time in /var/www/htdocs/tour/test/page2.php on line 12
1970 01 01 07:00:00
PHPSESSID=70ffc19ccfdf46a850fe3b91d8bee36f
page 1

То есть переменные сесии не передались...

Вывод при нажатии на ссылку "page 2 get":

Welcome to page #2
green
cat
2007 01 09 19:09:44
PHPSESSID=82cf963c56fb59059892367b128978f2
page 1

PHP Version 4.4.4
Кусок php.ini:

register_globals = off
...
[Session]
session.save_handler = files
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 1800
session.cookie_path = /tmp
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1                                                      
session.gc_divisor     = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0                                                      
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 1
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

$ ls -l
...
drwxrwxrwt  76 root   root    7472 2007-01-09 19:09 tmp
...

$ ls -l /tmp/sess_*
-rw------- 1 www-data www-data  0 2007-01-09 19:17 sess_70ffc19ccfdf46a850fe3b91d8bee36f
-rw------- 1 www-data www-data 56 2007-01-09 19:17 sess_7120461440b7b1a6dfe5fa777dbe993d

$ cat sess_7120461440b7b1a6dfe5fa777dbe993d
favcolor|s:5:"green";animal|s:3:"cat";time|i:1168348677

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру