Marc Reichelt: PHP - Skript - Threads

Beitrag lesen

Hallo LochNess,

So wenn ich jetzt einen neuen Tab aufmache mit dieser URL (z.B. http://localhost/Simulation/index.php) öffnet sich nicht einmal die Page. Der localhost scheint ziemlich ausgelastet zu sein.

Nö, ist er nicht.
Ich habe mir ein einfaches Skript gebastelt, das einfach eine Stunde dauert:

<?php  
  
error_reporting(E_ALL);  
ini_set('max_execution_time', 30);  
  
for ($i = 1; $i <= 3600; $i++) {  
        echo $i.' ';  
        flush();  
        sleep(1);  
}  
  
?>

Ich kann dein Problem nachvollziehen - im Firefox wird der zweite Tab nicht geladen, bevor der zweite nicht fertig ist. Im Opera geschieht auch etwas witziges: Der zweite und der erste Tab laden beide das Gleiche.

Am Server liegt es jedenfalls nicht - mehrere wget-Instanzen können unabhängig voneinander unterschiedliche Resultate speichern.

Das Problem liegt also auf der Client-Seite. Nach ein paar Sekunden kam ich jetzt drauf, was der Browser wohl so denkt, wenn du ihm aufgibst, das Gleiche nochmals zu laden:
1. Öffne http://localhost/test.php im 1. Tab.
2. Ladevorgang beginnt.
3. Öffne http://localhost/test.php im 2. Tab.
4. http://localhost/test.php muss nicht erneut geladen werden - Tab 1 bearbeitet ihn ja bereits.

Eine einfache Lösung ist ein Aufruf mit einem entsprechendem Dummy-Parameter:
http://localhost/test.php?dummy=1
http://localhost/test.php?dummy=2
http://localhost/test.php?dummy=xyz

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)