output_buffering = Off
zlib.output_compression = Off
также применял такие способы -
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Pragma: no-cache');
ob_end_flush();
///код
Спустя 1 час, 15 минут, 2 секунды (18.04.2012 - 15:46) glock18 написал(а):
Цитата (iliachou @ 18.04.2012 - 12:31) |
Всем привет, есть задача заставить парсер выводить сообщения в процессе выполнения |
а при чем здесь кеширование?
Спустя 4 минуты, 53 секунды (18.04.2012 - 15:50) iliachou написал(а):
я так понимаю что в процессе выполнения происходит буферизация она же форма кеширования. все сообщения собираются в буфер и выводятся только на последней стадии выполнения а не "на лету" так сказать.
Спустя 10 минут, 2 секунды (18.04.2012 - 16:00) glock18 написал(а):
Цитата (iliachou @ 18.04.2012 - 13:50) |
я так понимаю что в процессе выполнения происходит буферизация она же форма кеширования. все сообщения собираются в буфер и выводятся только на последней стадии выполнения а не "на лету" так сказать. |
ну что вы, какое это кеширование... как-то я озадачивался мгновенной отправкой ответа, но сейчас уже не вспомню детали, кроме того, что
1. надо использовать flush() для отсыла
2. ie не начинает отображать ничего, пока не получит как минимум 256 байт, для чего обычно отправляют 256 пробелов в начале тела ответа
3. еще, кажется, нужно отстроить как-то сервер (nginx или apache в зависимости от того, что за фронтенд-сервер) для этого, но не помню уже как
Спустя 2 минуты, 11 секунд (18.04.2012 - 16:03) glock18 написал(а):
вот тут что-то похожее на правду, попробуйте: http://netfaq.ru/php-script/PHP_dopilivaem_Flush_napilnikom
Спустя 17 часов, 20 минут, 59 секунд (19.04.2012 - 09:24) iliachou написал(а):
спасибо, сейчас попробую.
Спустя 1 час, 4 минуты, 25 секунд (19.04.2012 - 10:28) iliachou написал(а):
<?php
ob_start(); // включаем буфер
// создание нового ресурса cURL
include 'simple_html_dom.php';
$start_time = microtime(true); //how much time it do this.
echo "Hello!<br>";
ob_flush(); // отдаем
ob_end_flush();
......
?>
не помогло. :(
Спустя 26 минут, 4 секунды (19.04.2012 - 10:54) Oyeme написал(а):
Check it:
for($i = 0;$i<=1000000;$i++){
if (($i / 500 )%2 && $i%500 == 0){
//sending..
echo " Try to see me..";
@ob_flush();
flush();
}
}
Спустя 23 минуты, 40 секунд (19.04.2012 - 11:18) iliachou написал(а):
в первый раз вывело мгновенно но и выполнение прекратилось тут же, сейчас запускаю весит на трансферинге.
Вроде как выводит. Но все таки не во время выполнения т.к
в процессе не выводит.
Вроде как выводит. Но все таки не во время выполнения т.к
for($i = 0;$i<=1000000;$i++){
if (($i / 500 )%2 && $i%500 == 0){
//sending..
echo " Try to see me..";
sleep(1);
@ob_flush();
flush();
}
}
в процессе не выводит.
Спустя 8 часов, 11 минут, 59 секунд (19.04.2012 - 19:30) Гость_Winston написал(а):
Спустя 15 часов, 50 минут, 31 секунда (20.04.2012 - 11:20) iliachou написал(а):
круто, попробую
Спустя 2 дня, 22 часа, 44 минуты, 25 секунд (23.04.2012 - 10:05) iliachou написал(а):
засада в общем с этим выводом.
тоже не помог, выводит в конце сразу 10 строк.
<?php
for ($i = 1; $i <= 10; $i ++) {
echo str_pad($i . '<br />', 256, ' ', STR_PAD_LEFT);
flush();
sleep(1);
}
?>
тоже не помог, выводит в конце сразу 10 строк.