PHP- kann max_execution_time in xampp nicht ändern

8

Ich habe alles versucht, um das max_execution_time eines PHP-Crawlerskriptes zu ändern, so dass es unendlich viel Zeit dauern kann.

Ich habe die php.ini-Dateieinstellung max_execution_time auf 0 oder 100000000 geändert, aber ohne Änderung

Ich habe auch versucht, es aus dem PHP-Skript selbst zu setzen, indem ich ini_set('max_execution_time', 0);

benutze

Alle PHP-Skripte werfen den gleichen Fehler Fatal error: Maximum execution time of 3000 seconds exceeded , was könnte ich verpassen und wie kann ich sicherstellen, dass es keine maximale Ausführungszeit gibt?

PHP-Skript

%Vor%

phpinfo ()

%Vor%     
mk_89 01.07.2012, 18:44
quelle

11 Antworten

3

Sie sollten Ihren Crawler nicht unter Apache laufen lassen, es ist besser, ihn als Teil eines Gearman Setups über cli eigenständig auszuführen.

Auf diese Weise wird Ihr Webserver nicht beeinträchtigt und kann so lange ausgeführt werden, wie Sie möchten. Sie können viele Bindungen für Gearman finden, die Sie verwenden können, einschließlich PHP natürlich.

    
Ja͢ck 07.07.2012, 06:50
quelle
4

Schalte den abgesicherten Modus in php aus und probiere dann den folgenden Code

aus %Vor%

Dies sollte Ihnen ermöglichen, das Skript für unbegrenzte Zeit auszuführen.

In Apache können Sie die maximale Ausführungszeit mit .htaccess mit dieser Zeile ändern

%Vor%

set_time_limit () php manuelle Referenz

    
LoneWOLFs 07.07.2012 06:44
quelle
1

verwenden

%Vor%

am Anfang des Skripts

    
Learner 10.07.2012 12:10
quelle
0

In WAMP gibt es drei PHP.ini-Dateien, so dass Sie vielleicht auch 3 in xampp finden. Suchen Sie also einfach mit find und ersetzen Sie max_execution_time mit dem, was Sie einstellen. Aber Sie müssen etwas klein halten, nicht zu groß wie für die schnelle App, die Sie ausführen.

    
Rajeev Kumar 01.07.2012 19:14
quelle
0

Sie könnten auch versuchen, ignore_user_abort(TRUE); in Ihrem Skript zu setzen, da das Timing des Browsers möglicherweise nicht das Skript ist.

Aus dem php.net-Handbuch

%Vor%

Siehe hier für weitere Informationen

Ссылка

    
Dale 08.07.2012 12:43
quelle
0

Wenn Sie Windows verwenden, und dies ist ein CLI-Skript vielleicht Lesen Sie dies .

    
Cups 08.07.2012 14:49
quelle
0

check phpinfo() von einem temporären Skript und suche nach max_execution_time . stellen Sie sicher, dass es den gleichen Wert hat, was Sie einstellen. Standard sollte 30 Sekunden sein. versuchen Sie, es in ein paar verschiedene Werte zu ändern, starten Sie Apache neu und überprüfen Sie dann den Wert in phpinfo() , um zu bestätigen.

Wenn Sie den Wert in phpinfo() korrekt ändern, bedeutet dies, dass Code in Ihrem Skript vorhanden ist, der diesen Wert ändert. Suche nach zwei Dingen in deinem Code:

  1. suche deinen Code nach ini_set() und überprüfe, ob es sich um max_execution_time handelt
  2. Suche nach set_time_limit()

Diese Funktionen können das maximale Ausführungszeitlimit des Skripts ändern. Andernfalls sollten Sie .htaccess überprüfen, von wo dieser Wert gesetzt werden kann. Dies wirkt sich jedoch auch auf phpinfo() aus.

    
user1402647 10.07.2012 09:07
quelle
0

Ich habe Folgendes in der xampp-Dokumentation gefunden. Vielleicht versuchen Sie, die falsche php.ini-Datei zu bearbeiten?

  

Warum haben Änderungen in meiner php.ini keine Auswirkung?

     

Seit XAMPP 1.7.1 befindet sich die "php.ini" nur noch im Verzeichnis "\ xampp \ php". Bis XAMPP 1.7.0 war im Verzeichnis "\ xampp \ apache \ bin".

     

Wenn eine Änderung in der "php.ini" keine Auswirkungen hat, ist es möglich, dass PHP noch eine andere verwendet. Sie können dies mit phpinfo () überprüfen. Gehe zum URI localhost / xampp / phpinfo.php und suche nach "Loaded Configuration File". Dieser Wert zeigt Ihnen die "php.ini", die PHP wirklich benutzt.

     

Info:   Nachdem Sie die "php.ini" geändert haben, müssen Sie Apache neu starten, damit Apache / PHP die neuen Einstellungen lesen kann.

    
Bas Wildeboer 10.07.2012 13:13
quelle
0

Was Sie tun, ist nur die max_execution_time auf was auch immer innerhalb Ihrer Seite zu setzen. Sie können dies nicht mit ini_set ändern. Sie können nur die memory_limit ändern.

weitere Details finden Sie hier ... von der php offiziellen Seite.

Wenn Sie möchten, dass sie geändert werden, ändern Sie in php.ini.

    
Dev 12.07.2012 16:58
quelle
0

Sie müssen beide in Ihrer php.ini ändern (und prüfen, ob das die richtige php.ini ist, indem Sie den Speicherort in phpinfo(); output finden!)

%Vor%

Und danach überprüfen, ob einige PHP-Dateien diese Variablen nicht lokal überschreiben.

    
Peon 13.07.2012 12:47
quelle
0

Öffnen Sie die php.ini Notepad-Datei und suchen oder finden Sie upload_max_filesize = 1000M und Sie sollten auf Post_max_filesize = 1000M wechseln, dann starten Sie Ihren xampp neu und aktualisieren Sie den lokalen phpmyadmin ..

    
vasanth252 18.04.2016 11:58
quelle

Tags und Links