Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объясните смысл параметров настроек сессий
 
 автор: Sfinks   (02.03.2007 в 00:17)   письмо автору
 
 

Я понимаю, что вопрос очень большой, поэтому, если у кого есть, дайте плиз ссылки на инфо или русский ман. Если нет, опишите, плиз, по пунктам:

session.bug_compat_42
session.bug_compat_warn
session.cache_expire
session.cache_limiter
session.cookie_domain
session.cookie_lifetime
session.cookie_path
session.cookie_secure
session.entropy_file
session.entropy_length
session.gc_divisor
session.gc_maxlifetime
session.gc_probability
session.hash_bits_per_character
session.hash_function
session.name
session.referer_check
session.save_handler
session.save_path
session.serialize_handler
session.use_cookies
session.use_only_cookies
session.use_trans_sid

ЗЫ: Не пишите, плиз, ответов типа "На сколько мне известно...", "Как мне кажется...", "Я так понимаю...", "Интуиция мне подсказывает..." и т.п. =)

   
 
 автор: bronenos   (02.03.2007 в 00:23)   письмо автору
 
   для: Sfinks   (02.03.2007 в 00:17)
 

name
имя сессии, которое будет использоваться например в ссылке name=id
save_path
куда сохраняются файлы сессии
use_cookies
передавать ли идентификатор в куках
use_only_cookies
передавать только в куках
use_trans_sid
добавлять sname=sid в конец ссылок и в формы в виде hidden поля

   
 
 автор: Sfinks   (02.03.2007 в 01:26)   письмо автору
 
   для: Sfinks   (02.03.2007 в 00:17)
 

И еще я не могу разобраться, время жизни сессии - это session.cache_expire, session.cookie_lifetime, session.gc_maxlifetime или что-то еще - при том, что от использования кук я отказался? И в каких единицах оно измеряется?

   
 
 автор: Sfinks   (02.03.2007 в 01:28)   письмо автору
 
   для: Sfinks   (02.03.2007 в 00:17)
 

Ну и заодно....
Как узнать количество живых сессий на сервере? Другими словами, количество народу ONLINE.

   
 
 автор: bronenos   (02.03.2007 в 07:39)   письмо автору
 
   для: Sfinks   (02.03.2007 в 01:28)
 

cookie_lifetime
время жизни кук, которые несут в себе идентификатор
gc_maxlifetime
время жизни сессии вообще

да и эти 2 параметра синонимы по смыслу в большом счете

я кстати не могу понять что такое gc в gc_maxlifetime и gpc в magic_quotes_gpc

   
 
 автор: Soneks   (02.03.2007 в 08:52)   письмо автору
 
   для: bronenos   (02.03.2007 в 07:39)
 

Maxlifetine, broneros, это и есть время жизни сессии. Автор, если провести опыт (каковой я делал) то имя жизни сессии в настройках измеряется в секундах. Например 1440 это 24 минуты. 608400 вроде неделя.

   
 
 автор: Sfinks   (04.03.2007 в 22:24)   письмо автору
 
   для: Soneks   (02.03.2007 в 08:52)
 

Не работает почему-то =(
Тестовый скрипт:
<?php
  ini_set
("session.use_trans_sid","1");
  
ini_set("session.use_cookies","0");
  
ini_set("session.gc_maxlifetime","1");
  
session_start();
  
$_SESSION['a']='hello';
  echo 
'<a href="36.php">test</a>';
?>

Файл 36.php выглядит так:
<?php
  ini_set
("session.use_trans_sid","1");
  
ini_set("session.use_cookies","0");
  
ini_set("session.gc_maxlifetime","1");
  
session_start();
  
print_r($_SESSION);
?>

Запускаю первый, через несколько секунд перехожу по ссылке, сессия уже должна умереть, а я вижу:
Array
(
    [a] => hello
)

Если перехожу через пару минут, вижу тоже самое.
В чем тут дело???

   
 
 автор: Sfinks   (04.03.2007 в 23:10)   письмо автору
 
   для: Sfinks   (04.03.2007 в 22:24)
 

Так, с этим я разобрался! Дело оказывается в отношении gc_probability/gc_divisor.
Отсюда возникает вопрос! Что, работа GC дает такую большуу нагрузку на сервер, что нужно такое ограничение? Почему не поставить просто gc_probability=1 и gc_divisor=1?

   
 
 автор: cheops   (05.03.2007 в 12:49)   письмо автору
 
   для: Sfinks   (04.03.2007 в 23:10)
 

Удаление мусора при старте каждой новой сессии достаточно накладно, если сессий стартуется очень много. Смысл таков, что если у вас низкая посещаемость соотношение следует уменьшать, если высокая - увеличивать.

   
 
 автор: Ralph   (02.03.2007 в 11:28)   письмо автору
 
   для: bronenos   (02.03.2007 в 07:39)
 

Ну,не совсем синонимы... А gc - это garbage collector(в переводе-сборщик мусора,бомж короче)-процесс,проверяющий,не прошло ли время жизни сессии и не пора ли ее уничтожить,а gpc в magic quotes-первые буквы методов приема данных,при которых эти кавычки автоматически добавляются :GET,POST COOKIE

   
 
 автор: cheops   (02.03.2007 в 12:43)   письмо автору
 
   для: Sfinks   (02.03.2007 в 01:28)
 

>Как узнать количество живых сессий на сервере? Другими словами, количество народу ONLINE.
Следует помещать уникальные идентификаторы сессии в базу данных или файл http://www.softtime.ru/scripts/online.php. Иногда на хосте доступна /tmp с файлами сессиями, можно подсчитать количество файлов там.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования