Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: сесии долго не удаляется после закритии браузера

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: настроики времени для сборшик мусора
dadli
Отправлено: 12 Октября, 2011 - 12:59:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




привет всем.
после того когда ползовател авторизуется на саите, в папке tmp создается ид сесии да, тоест фаил такого вида:
sess_f11bc54b134a98020eefab7ee233576e478c69d7
а когда ползовател закроит браузер, сесия остается в папке, я читал что сборшик мусора удалит неактивних сессии из папки tmp через 20-30 минут, ето время зависимо от настроики сервера да? а я сматрию и сессии остается в папке через 3 часа и болше, после закритии браузера, почему так долга ани живут? тестирую на локалном - денвере, я настроики не изменил. скажите пожалуиста как нужно изменит настроики так, что после закрития браузера сесия уничтожилос например после 10 минут,
и где мне смотрет, сеичас сколко время устоановлена? тоест сборшики мусора через сколко времии удаляет сесии из папки tmp ?

(Отредактировано автором: 12 Октября, 2011 - 13:00:59)

 
 Top
illy
Отправлено: 12 Октября, 2011 - 13:11:55
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




в скрипте создания сессии указываешь время её жизни
прочти мануал


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Stierus Супермодератор
Отправлено: 12 Октября, 2011 - 14:02:51
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




сборщик мусора не запускается по расписанию, думаю, это то, на что вам нужно обратить внимание.
 
My status
 Top
dadli
Отправлено: 12 Октября, 2011 - 14:56:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




illy
об етом ви говорите? например:
ini_set("session.gc_maxlifetime",600);
если да то, ето не помагает.


Stierus
да кожется ви прав, смотрел я phpinfo(); и там написано (в разделе session)

Directive | Local Value | Master Value
-------------------------------- -------------------------
..............
session.gc_maxlifetime | 1440 | 1440
..................


ето значит что после закритии браузера, сесия должен уничтожен в течении 24 минут, а он жив - болше три часа.
Цитата:
сборщик мусора не запускается по расписанию,

скажите пожалуиста что может причина етого ?
 
 Top
Stierus Супермодератор
Отправлено: 12 Октября, 2011 - 15:25:38
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




это не по какой-то причине, это его нормальное поведение. Как работает сборщик мусора? Когда вызывается скрипт, с какой-то вероятностью, пых запустит и сборщика мусора (не помню вероятность запуска, вроде, настраиваемо). Так вот если не запускать пых - то и сборщик мусора запускаться не будет. Иными словами : если вы 1 раз запустили скрипт, который создал сессию, а после этого не запуская скрипты ждете, когда удалится файл - вы этого не дождетесь, что бы что-то удалилось - нужно запускать скрипты (пхп процесс), который с определенной вероятностью запустит механизм сборки мусора. А время жизни сессий, которые вы выставляете - этот порог, который необходим для удаления файла. Тоесть сборщик мусора будет проходить по всем файлам сессий и удалять только те, которые созданы ранее указанного времени.
Из всего этого вытекает еще 1 интересный нюанс: Вы запускаете скрипты редко, у вас время жизни сессии стоит 10 секунд, но вероятность запуска сборщика мусора стоит 0.0001% ... как вы поняли, через 10 секунд сессионный файл не исчезнет.
 
My status
 Top
EuGen Администратор
Отправлено: 12 Октября, 2011 - 15:28:34
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Stierus пишет:
как вы поняли, через 20 секунд сессионный файл не исчезне

Однако же можно не ждать когда там придет время и сделать это специально
http://ru.php.net/manual/en/func...llect-cycles.php


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Stierus Супермодератор
Отправлено: 12 Октября, 2011 - 16:17:13
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




EuGen, вы действительно советуете это использовать на раюбочих сайтах, в продакшн системах?
 
My status
 Top
dadli
Отправлено: 12 Октября, 2011 - 16:56:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




ок Stierus спасибо балшое
спасибо всем
 
 Top
dadli
Отправлено: 13 Октября, 2011 - 11:33:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




я продолжал поиск на етой теме, потому что я заинтересовался, как вычисляется вероятност запуска сборшика мусора и нашёл его. в разделе session (из phpinfo();) есть такие веши:

Directive | Local Value | Master Value
-------------------------------- ------
session.gc_divisor | 100 | 100
session.gc_probability | 1 | 1



вероятност вычисляется так: session.gc_probability / session.gc_divisor получается 1 к 100
тоест если ми хотим при любом запуске "включит" сборшик мусора надо у session.gc_probability установить значение 100
получим 100 k 100

вот здес статя об етом http://habrahabr[dot]ru/blogs/personal/13248/



и кстати, там (на хабре) автор говорит что он изменяеть значение через функцию: ini_set("session.gc_probability",число)
а ini_set() нужен во всех пхп фаилах да? как думаете не удобно настроить через .htaccess? тоесть написать в фаиле .htaccess
php_value session.gc_probability число
 
 Top
LIME
Отправлено: 13 Октября, 2011 - 11:38:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




dadli а нафига?
сервер скучает? просит занять чем-нибудь? ))
 
 Top
dadli
Отправлено: 13 Октября, 2011 - 12:36:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


Помог: 5 раз(а)




LIME
Цитата:
сервер скучает?

ну ето зависимо на класс-e (кочество) саитов, которие лежит на етом сервере Улыбка

что касается "нафига", конечно если всо останется по умалчаню, все ровно будет работать, сборшик мусора очистит старие сесси как нибуд, просто я заинтересовался именно по какои причини: иногда работает сборшик, иногда нет и написал ето (тоест предыдущи) сообшение: может бить комуто ето интересует. Улыбка

а я не знаю, как лучше настроит php.ini: через ini_set() или через .htaccess? кажется через .htaccess удобнее, но не знаю, может каким то причином ini_set() лучшее?

(Отредактировано автором: 13 Октября, 2011 - 12:40:27)

 
 Top
Stierus Супермодератор
Отправлено: 13 Октября, 2011 - 13:52:44
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




не рекомендуется выставлять в 100, слишком большая нагрузка на сервер.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB