PHP session_start () вызывает зависание HTTP-запросов - PullRequest
3 голосов
/ 14 февраля 2010

У меня есть приложение, которое я написал на PHP с нуля. Я использую встроенные в PHP функции обработчика сеансов для обработки аутентификации и персистентности пользователя.

При тестировании на сервере разработки все персиковое. Аутентификация, постоянство и т. Д. Работает нормально.

При установке на рабочем сервере все работает нормально вплоть до аутентификации пользователя - когда приложение фактически записывает данные в объект сеанса, внезапно следующий за ним HTTP-запрос полностью зависает именно тогда, когда выполняется session_start ().

Я подозревал, что временные файлы сеанса были заблокированы PHP и никогда не выпускались, поэтому я попытался отследить места, где приложение записывает объект сеанса, с помощью session_write_close(), но это, похоже, не дало никакого эффекта.

Похоже ли это на проблему блокировки файла или это что-то еще? Я запутался в том, почему session_write_close, похоже, не заботится о проблеме блокировки файла, если это так, и поэтому мне интересно, может ли здесь что-то еще происходить.

Любые возможные мысли или идеи?

Ответ на замечательные предложения Пекки:

  • Рабочий сервер - это среда linux. отчеты phpinfo Linux wynn 2.6.18-164.9.1.el5PAE #1 SMP
  • Страница не звонит сама
  • Я могу читать / записывать папку и файлы сеанса. Я могу видеть данные аутентификации, которые сериализуются в файлы с попытки аутентификации.

1 Ответ

4 голосов
/ 14 февраля 2010

Всего несколько идей - в дополнение к комментарию pygorex, чтобы сначала включить error_reporting, который обязательно должен быть первым.

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