Ik ben bezig met een systeem waar mensen een XML kunnen uploaden waarna deze bewerkt wordt op de server tot een flinke statische pagina, dit omdat de pagina heel vaak geaccessed zal worden en het parsen van de XML vaak erg lang kan duren.
Ik heb dus een pagina waar die XML verwerkt wordt en dat duurt ongeveer een minuut. Nu kan ik de max_execution_time aanpassen zodat dat geen probleem is, maar ik wil ook grafisch aangeven hoe ver ie is.
Lokaal heb ik een test gedaan met ob_flush() en flush() en dat werkt perfect (Apache 2.0, PHP 5.2.2), maar als ik het bij XS4All wil testen op de server lukt het niet (FreeBSD met FastCGI en PHP 4.4.4). Mijn code is als volgt:
Zoals te zien is zou het scriptje elke seconde $i moeten printen, en lokaal gaat dat fantastisch, maar bij XS4All parsed ie em en na 5 seconden verschijnt het geheel. Iemand tips?
Ik heb dus een pagina waar die XML verwerkt wordt en dat duurt ongeveer een minuut. Nu kan ik de max_execution_time aanpassen zodat dat geen probleem is, maar ik wil ook grafisch aangeven hoe ver ie is.
Lokaal heb ik een test gedaan met ob_flush() en flush() en dat werkt perfect (Apache 2.0, PHP 5.2.2), maar als ik het bij XS4All wil testen op de server lukt het niet (FreeBSD met FastCGI en PHP 4.4.4). Mijn code is als volgt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| ini_set("max_execution_time",60); ini_set("output_buffering","On"); ob_start(); for($i = 1; $i<5; $i++) { echo $i." "; sleep(1); ob_flush(); flush(); } ob_end_clean(); |
Zoals te zien is zou het scriptje elke seconde $i moeten printen, en lokaal gaat dat fantastisch, maar bij XS4All parsed ie em en na 5 seconden verschijnt het geheel. Iemand tips?
Engineering is like Tetris. Succes disappears and errors accumulate.