Hi,
ich hoffe ihr könnt mir weiterhelfen. Prinzipiell ist es ein AJAX Problem, aber der Einfachheit halber lässt es sich genauso mit Browser Tabs nachstellen.
Ich hab ein Script, das eine ziemlich lange Laufzeit hat und als erstes aufgerufen wird (generator.php).
generator.php
Dann habe ich zwei Scripte, die währenddessen aufgerufen werden können und einen Rückgabewert liefern sollten:
response1.php
response2.php
Wenn ich jetzt generator.php aufrufe, lädt der Browser brav 10 Sekunden lang. Wenn ich während dieser Ladezeit die response1.php aufrufe, gibt die mir aber nichts zurück, sondern lädt erst wenn generator.php fertiggeladen ist.
Wenn ich aber nicht die response1.php sondern die response2.php aufrufe, während die generator.php läuft, bekomme ich sofort eine Ausgabe. Der einzige Unterschied zwischen den beiden Scripten ist das session_start().
Woran kann das liegen? Ist das normal?
(btw: Wenn erst generator.php aufgerufen wird, dann response1.php und dann response2.php kann es sein, dass die response2.php auch erst etwas ausgibt, wenn die vorigen Scripte fertig sind. Das liegt daran, dass im Firefox die Option network.http.max-persistent-connections-per-server nur auf 2 gesetzt ist. Wenn man den Wert auf 3 erhöht, funktioniert es auch so...)
Ich verwende PHP 5.1.2 mit diesen Werten für Session Handling (falls das relevant ist):
Ich hoffe ihr könnt mir weiterhelfen.
ich hoffe ihr könnt mir weiterhelfen. Prinzipiell ist es ein AJAX Problem, aber der Einfachheit halber lässt es sich genauso mit Browser Tabs nachstellen.
Ich hab ein Script, das eine ziemlich lange Laufzeit hat und als erstes aufgerufen wird (generator.php).
generator.php
PHP-Code:
<?php
session_start();
sleep(10);
?>
response1.php
PHP-Code:
<?php
session_start();
echo "response1";
?>
PHP-Code:
<?php
echo "response2";
?>
Wenn ich aber nicht die response1.php sondern die response2.php aufrufe, während die generator.php läuft, bekomme ich sofort eine Ausgabe. Der einzige Unterschied zwischen den beiden Scripten ist das session_start().
Woran kann das liegen? Ist das normal?
(btw: Wenn erst generator.php aufgerufen wird, dann response1.php und dann response2.php kann es sein, dass die response2.php auch erst etwas ausgibt, wenn die vorigen Scripte fertig sind. Das liegt daran, dass im Firefox die Option network.http.max-persistent-connections-per-server nur auf 2 gesetzt ist. Wenn man den Wert auf 3 erhöht, funktioniert es auch so...)
Ich verwende PHP 5.1.2 mit diesen Werten für Session Handling (falls das relevant ist):
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 0 0
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php5 /var/lib/php5
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Registered save handlers files user
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 0 0
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php5 /var/lib/php5
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Kommentar