Однажды я столкнулся со следующей проблемой: на странице сайта с помощью PHP-скрипта пользователю отображался видеоконтент (подробнее в моей статье).
«флеш-видео на веб-страницах и PHP» ).
Скрипт, который «отправляет» видео, работал долго (примерно столько же времени, сколько длился видеоклип: регулировку скорости загрузки мы ставили по битрейту).
Итак, если во время просмотра видео вы открыли в браузере новую вкладку с другой страницей того же сайта, произошла ошибка.
Шкатулка открылась довольно просто.
На сайте использовалась авторизация на основе стандартных PHP-сессий.
Таким образом, при запуске сеанса файл сеанса блокируется, и до тех пор, пока сеанс не закроется и файл не будет разблокирован, никто не сможет открыть файл сеанса.
По умолчанию сеанс закрывается после завершения работы сценария.
Мы добавили строку непосредственно перед отображением видеоконтента.
session_write_close() - вуаля, все заработало.
Поскольку совсем недавно друг пожаловался точно на такую же проблему и был рад полученной подсказке, я решил поделиться этой «подсказкой» с хабранародами.
Теги: #php #Sessions #session_write_close #php
-
Объявлены Лучшие Нетбуки!
19 Oct, 24 -
Скрытые Цепи Маркова, Алгоритм Витерби
19 Oct, 24