У меня есть магазин Magento, продающий очень большие (2 - 4 ГБ) загружаемые файлы. Всякий раз, когда кто-то загружает файл и пытается продолжить просмотр, пока файл продолжает загружаться, браузер останавливается до истечения времени ожидания, выдавая эту ошибку:
"Невозможно отправить заголовки; заголовки уже отправлены в /home/xyz/public_html/app/code/core/Mage/Downloadable/Helper/Download.php, строка 282"
Я проверил, и файл Download.php не содержит пустых мест, которые я вижу. Кроме того, это происходит только тогда, когда кто-то пытается продолжить просмотр во время загрузки в том же браузере. Открываем другой браузер и все гладко и быстро, поэтому, очевидно, Magento застревает с одним соединением с клиентом?
Еще один признак: пока идет загрузка, нажатие в любом месте на сайте просто останавливается, как упоминалось выше. Однако если в течение периода отсутствия доступа я отменяю загрузку файла, то новая страница загружается немедленно. Это означает, что отмена загрузки освобождает браузер для других подключений.
Окружающая среда:
Первоначально я работал на сервере с mod_fcgi и eaccelerator, но он продолжал истекать во время длительных загрузок, даже после игры со всеми настройками FCGI, которые я мог найти, поэтому теперь он работает с SuPHP.
Apache 2.2 / cPanel 11.30 / CentOS 5.5 / выделенный сервер 4 ГБ ОЗУ / Magento 1.4.2
Если это поможет, это веб-сайт: http://store.gmvbodybuilding.com
Я обещаю спасти котенка или посадить дерево и назвать его в честь того, кто бы это не понял!
:)