set_time_limit() funktioniert nicht
Thomas
- php
0 Tom
Hallo zusammen,
Ich habe ein PHP-Skript, das sehr lange laufen soll.
Das Skript bricht bei Ausführung im Browser mit folgender Meldung ab:
Fatal error: Maximum execution time of 60 seconds exceeded in...
Über set_time_limit habe ich versucht, die maximale Ausführungszeit zu erhöhen.
Dabei hatte ich jedoch keinen Erfolg.
Zum prüfen habe ich folgende Zeilen im Anfang meines Skripts eingebaut:
$ExecTime = ini_get('max_execution_time');
print "<h3>$ExecTime Sekunden</h3>";
set_time_limit(1000);
$ExecTime = ini_get('max_execution_time');
print "<h3>$ExecTime Sekunden</h3>";
Die Ausgabe ist jedoch wie folgt:
60 Sekunden
60 Sekunden
Fatal error: Maximum execution time of 60 seconds exceeded in...
phpinfo() gibt folgende safemode-Parameter als OFF an:
safe_mode
safe_mode_exec_dir
safe_mode_gid
safe_mode_include_dir
Müsste set_time_limit() nicht eigentlich funktionieren, wenn der safe_mode auf Off ist?
Gibt es noch andere Parameter, die das beeinflussen können?
Viele Grüße,
Thomas
Hello,
Müsste set_time_limit() nicht eigentlich funktionieren, wenn der safe_mode auf Off ist?
Gibt es noch andere Parameter, die das beeinflussen können?
Ja, wenn in einer übergeorneten Konfiguration
php_admin_value max_execution_time 60
steht, kannst Du das in einer untergeordneten nicht mehr ändern.
Das gilt zumindest für PHP als Modul des Webservers. Ob es bei CGI/FastCGI auch so ist, weiß ich nicht verbindlich.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg