2014-01-14 1 views
0

Я тестирую загрузку, для которой я написал скрипт php. Этот скрипт читает большой файл (10 МБ) с использованием fopen и fread. Используя fread, я читаю кусок 10 МБ в буфере, и этот буфер я эхо, а затем промывка с использованием функций flush и ob_flush. Таким образом, клиент получает этот буфер, и я могу проверить количество полученных байтов. Это отлично работает в Chrome, FireFox и IE 8, но когда я тестировал его в IE 9, браузер зависает, и я не могу получить правильные загруженные байты. Может ли кто-нибудь предложить, какие другие варианты мы можем использовать для проверки этого?IE 9 зависает, когда сервер отвечает огромным ответом

define('CHUNK_SIZE', 1024*10240); 
    $handle=fopen("10MBFile", 'rb'); 
    $buffer=fread($handle, CHUNK_SIZE); 
    echo $buffer; 
    ob_flush(); 
    flush(); 

Regds

+0

ли вы проверить его на месте с апача? Потому что есть известная ошибка с этим и IE9 + – venimus

ответ

0

У меня было множество странных зависаний с IE9 + и апача и может исправить это с добавлением этого материала в httpd.conf:

# Deal with user agents that deliberately violate open standards 
# 
<IfModule setenvif_module> 
BrowserMatch "MSIE 10.0;" bad_DNT 
</IfModule> 
<IfModule headers_module> 
RequestHeader unset DNT env=bad_DNT 
</IfModule> 
AcceptFilter https none 
AcceptFilter http none 
EnableSendfile Off 
EnableMMAP off 
+0

Есть ли проблема, связанная с кешем буфера браузера? Bcoz это не произойдет с другими браузерами – user2849371

+0

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

+0

Можете ли вы указать, в чем была проблема и какова резолюция? – user2849371

Смежные вопросы