PHP5: Некоторые файлы сессий 0 длины? - PullRequest
1 голос
/ 16 января 2009

Я вижу странную ситуацию, когда пытаюсь выяснить, проблема ли это в PHP, проблема с файлом или нормальная работа. У меня есть некоторые пользователи, жалующиеся на очень быстрые тайм-ауты на нашем сайте (сессия истекает?) И, проверяя каталог php tmp, я вижу такие вещи:

-rw------- 1 www-data www-data  377 2009-01-15 22:46 sess_fc789ce04a3d54ce929a401cd33ea868
-rw------- 1 www-data www-data 1167 2009-01-15 23:21 sess_fcb67b1f44a3669d8ffee69d5fa9a2e8
-rw------- 1 www-data www-data    0 2009-01-15 23:22 sess_fe0ab79c78c612d71ecca575753afdc4
-rw------- 1 www-data www-data    0 2009-01-15 23:07 sess_fedd46db2b023215cb060d67a01d3382
-rw------- 1 www-data www-data    0 2009-01-15 23:21 sess_feec900e144c011303a9f06eb428574e
-rw------- 1 www-data www-data    0 2009-01-15 23:00 sess_ffb2ed75ca311d08e41ec69c7d708d08
-rw------- 1 www-data www-data 1142 2009-01-15 22:49 sess_ffc2c882af3b3ad39b844dc5a530dc44
-rw------- 1 www-data www-data    0 2009-01-15 22:51 sess_fffbd6f7734ce3b4ef9d8009a324a459

Это нормальное поведение?

ТИА Mike

Ответы [ 3 ]

1 голос
/ 08 февраля 2009

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

Параметр gc_maxlifetime по умолчанию равен 1440 секундам, но если вы используете тот же каталог сеанса на другом веб-сайте, который имеет более низкую настройку, чем этот, он преждевременно удалит ваши сеансы из руководства по php:

Примечание. Если разные сценарии имеют разные значения session.gc_maxlifetime, но занимают одно и то же место для хранения данных сеанса, тогда сценарий с минимальным значением будет очищать данные. В этом случае используйте эту директиву вместе с session.save_path.

, поэтому я рекомендую изменить путь сохранения сеанса на другой каталог, для которого веб-сервер будет иметь разрешения на запись.

0 голосов
/ 16 января 2009
<?php set_time_limit(100); ?>
0 голосов
/ 16 января 2009

Я не совсем понимаю, что вы имеете в виду, но вы можете попробовать:

<?php set_time_limit(100); ?>

вверху каждой страницы. Может быть? Извините = /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...