[PHP] Brak efektu ładowania - ob_flush()

Witam!

Mam problem z funkcją ob_flush. W Manualu wyczytałem, że stosując taki skrypt:

<?php

ob_start();


for($i=0;$i<70;$i++)

{

    echo 'printing...
';

    ob_flush();

    flush();


    usleep(300000);

}


?>

Można osiągnąć fajne efekty. Na lokalnym serwerze (WebServ) mi wszystko działa (powyższy skrypt), jednak na moim serwerze (http://www.webd.pl) już nie. Co powinienem włączyć, aby wszystko działało? Skrypt nie wywala mi żadnych błędów. Podobno wyłączenie output_buffering i zlib.output_compression w php.ini, powinno pomóc, jednak nic nie dało. Próbowałem wyłączyć za pomocą:

ini_set("output_buffering", "off");

ini_set("zlib.output_compression", "off");

oraz w pliku .htaccess poprzez dodanie linii:

php_flag output_handler Off

php_flag output_buffering Off

które nic nie pomogły. Jest ktoś, kto mógłby mi pomóc?

Pozdrawiam

ini_set może być zablokowane przez admina, musisz bezpośrednio zmienić wartość którą podałeś w php.ini. Reasumując potrzebujesz VPS lub po prostu poproś admina :wink:

parametry do ustawienia:

responseBufferLimit=0

lub

output_buffering = 0

http://php.net/manual/pl/outcontrol.configuration.php

http://www.php.net/manual/pl/configurat … .modes.php

Tak więc, przez ini_set() nie da się tego zmienić. .htaccess może być nie obsługiwane, bądź zablokowana zmiana (danych) flag (przy użyciu tego pliku). Pozostaje zmiana tych wartości przez php.ini, lub, jeśli niedostępne, ograniczone, czy coś, dobra wola admina. Ewentualnie zmiana hostingu :slight_smile: