PHP session_start () вызывает зависание HTTP-запросов

У меня есть приложение, написанное на 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
  • Страница не называет себя
  • Я могу читать / записывать папку сеанса и файлы. Я могу видеть данные аутентификации, которые сериализуются в файлы из попытки auth.

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

  • Наверное, нет, но есть три зависания, описанные в примечаниях пользователя к session_start:

    • При использовании / dev / random в качестве файла энтропии сеанса

    • Когда страница вызывает себя с той же сессией

    • В Windows

  • Можете ли вы прочитать cookie сеанса и проверить, существует ли файл сеанса с таким именем в вашем каталоге / tmp? Этот файл доступен для записи? Он содержит данные?

  • Если все остальное не удается, страница руководства на session_save_handler () имеет то, что кажется полной пользовательской заменой для функций обработки сессий по умолчанию. Подумайте о том, как использовать их для детальной отладки.