Сессии PHP, истекающие неожиданно

Попробуйте включить NSZombie и посмотрите, будет ли что-то выпущено слишком рано.

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

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

6
задан BartoszKP 23 January 2014 в 20:10
поделиться

3 ответа

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

if (!headers_sent()) {
    if ($_COOKIE["PHPSESSID"] != "") {
        setcookie("PHPSESSID", $_COOKIE["PHPSESSID"], time()+43200, "/", ".mydomain.com");
    }
}
5
ответ дан 16 December 2019 в 21:45
поделиться

Я бы установил на эти машины какой-нибудь HTTP-сниффер, например httpwatch (платный, но стоящий каждого пенни) или fiddler (бесплатно), и посмотрел, что происходит с файлами cookie сеанса (я думаю, что это PHPSESSID, но не уверен). Если cookie удаляется или изменяется в середине сеанса из-за прокси-серверов, странной конфигурации apache или чего-то еще, это будет лучший способ его обнаружить.

1
ответ дан 16 December 2019 в 21:45
поделиться

Не могли бы вы предоставить немного дополнительной информации о вашей настройке?

Сначала я подумал, что что-то случайным образом очищает каталог временных файлов. Если вы используете стандартную настройку LAMP, PHP будет сохранять файлы данных сеанса в / tmp. Если они будут удалены оттуда в процессе очистки, вы потеряете свои сеансы.

Edit: Я думаю об этом заново. Если затрагивается только определенная группа пользователей, это снижает вероятность этого.

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

I '

1
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: