2013-08-15 7 views
7

Ich habe ein XML-Dokument, das rund 48.000 Kinder (~ 50 MB) hat. Ich führe eine INSERT-MySQL-Abfrage aus, die neue Einträge für jeden dieser untergeordneten Elemente erstellt. Das Problem ist, dass es aufgrund seiner Größe viel Zeit in Anspruch nimmt. Nach ihrer Ausführung erhalte ich dieseLegen Sie maximale Ausführungszeit in MYSQL/PHP

Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18

Wie kann ich die maximale Ausführungszeit unbegrenzt sein?

Dank

+0

Schauen Sie sich diese Antwort an, dies wird Ihnen wahrscheinlich Hinweise geben, um dieses Problem zu vermeiden. http://stackoverflow.com/questions/911663/parsing-huge-xml-files-in-php Dies hat verschiedene Ansätze. – skv

Antwort

10

Sie können es machen, indem set_time_limit in Sie PHP-Code (auf 0 gesetzt für No-Limit)

set_time_limit(0); 

oder Ändern Sie den Wert von max_execution_time direkt in der php.ini Einstellung

;;;;;;;;;;;;;;;;;;; 
; Resource Limits ; 
;;;;;;;;;;;;;;;;;;; 

; Maximum execution time of each script, in seconds 
; http://php.net/max-execution-time 
; Note: This directive is hardcoded to 0 for the CLI SAPI 
max_execution_time = 120 

Oder ändern Sie es mit ini_set()

ini_set('max_execution_time', 120); //120 seconds 

aber beachten Sie, dass für diese dritte Option:

max_execution_time

Sie diese Einstellung nicht mit ini_set() ändern können, wenn sie in sicheren Modus ausgeführt wird. Die einzige Problemumgehung besteht darin, den abgesicherten Modus zu deaktivieren oder das Zeitlimit in der php.ini zu ändern.

Quelle www.php.net

+0

Vielen Dank! Die 3. Option schien zu funktionieren. –

+0

Willkommen in der SO-Community;) –

0

am Anfang des Skripts Setzen Sie diese:

ini_set('max_execution_time', 300); 

Das wird es 5 Minuten machen.

+0

Wenn ich es auf 0 setze, wird es so lange dauern, wie es will? –

+0

Es wird es auf unbegrenzte setzen. – Tdelang

0

Sie können das ini_set zu Beginn Ihrer Anwendung verwenden.

ini_set('max_execution_time', *number of seconds here*); //300 seconds = 5 minutes 
0

können Sie maximale Ausführungszeit In MYSQL/PHP. es ist so einfach.

Um die maximale Ausführungszeit in einer einzigen PHP-Datei festzulegen, fügen Sie diesen Code direkt nach dem ersten öffnenden PHP-Tag ein.

ini_set(‘max_execution_time’, 0) 

Um maximale Ausführungszeit in php.ini-Datei festlegen. Sie können entsprechend Ihrer Anforderung einstellen.

max_execution_time=360 //360 seconds = 6 minutes 

Festlegen der maximalen Ausführungszeit in der Datei htaccess.

php_value max_execution_time 0 

Sie können auch read step by step here.

Verwandte Themen