Browser Timeout?
Beni
- php
0 Sebastian Salzgeber0 DiBo330 Tom
Hallo, ich habe folgendes Problem:
Der Browser (IE und Firefox) hört bei folgendem Code aus mir unerklärlichen Gründen auf, zu laden:
<?
$filename = 'test.txt';
$handle = fopen($filename, 'w');
fclose($handle);
for($i=0;$i<120;$i++)
{
$ausgabe = $i.'<BR>'."\n";
echo($ausgabe);
$handle = fopen($filename, 'a');
fwrite($handle,$ausgabe);
fclose($handle);
ob_flush();
flush();
set_time_limit(30);
sleep(1);
}
?>
Mein letzter Test lieferte folgendes ab:
Im Browser lief der Zähler bis 6, im Protokoll bis 7 (dies vermutlich, weil das Programm merkt, dass der Browser nicht mehr "hört", und deshalb abbricht)...
Sollte mir dies jemand nicht glauben, kann er sich hier überzeugen:http://gertradix.seite.lt/zaehler.php, Protokoll:http://gertradix.seite.lt/test.txt
Kann mir jemand erklären, wieso?
Ich freue mich schon jetzt auf eure Antworten
Im Browser lief der Zähler bis 6
Ich könnte mir vorstellen, dass es daran liegt, dass PHP eine Ausführzeit hat. Wird diese überschritten, bricht das Script ab. Du kannst die Zeit, die ein PHP-Dokument zum Ausführen haben darf, manuell ändern. Such mal bei google nach diesem Thema (PHP Script Execution Time).
Grüße
Sebastian S.
Vielen Dank für deine Antwort, aber um dieses Problem habe ich mich (soweit ich weiss) schon mit der Zeile
set_time_limit(30);
gekümmert.
Diese verschafft mit nach jeder Sekunde weitere 30 Laufsekunden.
Ich hatte es übersehen.
Sebastian S.
Kann mir jemand erklären, wieso?
Safe Mode eingeschaltet?
Kann mir jemand erklären, wieso?
Safe Mode eingeschaltet?
Nein, phpinfo sagt
safe_mode Off
Kann mir jemand erklären, wieso?
Safe Mode eingeschaltet?
Nein, phpinfo sagt
safe_mode Off
Dann fällt mir nur noch
disable_functions
oder
suhosin.executor.func.blacklist
ein.
Kann mir jemand erklären, wieso?
Safe Mode eingeschaltet?
Nein, phpinfo sagt
safe_mode Off
Dann fällt mir nur noch
disable_functions
oder
suhosin.executor.func.blacklist
ein.
PHPInfo sagt folgendes:
suhosin.executor.func.blacklist:
no value
disable_functions: gzcompress,apache_note,apache_setenv,proc_get_status,exec,passthru,proc_nice,proc_open,proc_terminate,shell_exec,system,popen,ini_restore,syslog,define_syslog_variables,symlink,link,error_log,leak,dbmopen,openlog,closelog,popen,pclose,stream_socket_server
Was bedeutet das?
Ist es möglich, dass set_time_limit auf meinem Host verboten ist? Denn ini_get( 'max_execution_time' ) gibt immer 12 zurück, egal was ich mit set_time_limit setze.
Ist es möglich, dass set_time_limit auf meinem Host verboten ist?
Durchaus, gerade Freehoster schalten diese Funktion ab.
Denn ini_get( 'max_execution_time' ) gibt immer 12 zurück, egal was ich mit set_time_limit setze.
Dann ist es sogar wahrscheinlich.
Teste mal:
[code=php]<?php
error_reporting(-1);
ini_set('display_errors', 1);
set_time_limit(60);
echo ini_get('max_execution_time');
[/code]
Hello,
dann probier mal aus:
<?
phpinfo(INFO_CONFIGURATION);
set_time_limit(37); ## 37 nur zur Unterscheidung der sonst üblichen 30 Sekunden
phpinfo(INFO_CONFIGURATION);
?>
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg