Heim > Artikel > Backend-Entwicklung > So beheben Sie das PHP-Laufzeitlimit
Das Standard-Skriptausführungs-Timeout in PHP beträgt 30 Sekunden. Wenn Sie es nicht festlegen, wird es nach 30 Sekunden ablaufen, wenn Ihr Skript nicht ausgeführt wurde Anweisungen zur Behebung des Timeouts bei der PHP-Skriptausführung.
Empfohlenes Handbuch: PHP-Handbuch zum vollständigen Selbststudium
Empfohlenes Tutorial: PHP-Video-Tutorial
Die standardmäßige maximale Ausführungszeit in php.ini beträgt 30 Sekunden. Obwohl der Wert von max_execution_time in php.ini angepasst werden kann, um das Ziel zu erreichen, gibt es in einigen Fällen keine Bedingung zum Ändern von PHP .ini. So lösen Sie dieses Problem.
Eine Möglichkeit besteht darin,
ini_set('max_execution_time', '0');
zum PHP-Skript hinzuzufügen, um die Laufzeit auf 0 (unendlichen Wert) zu setzen;
Eine andere Die erste Methode besteht darin, das Skript über die Befehlszeile auszuführen. Bei der Ausführung des Skripts über die Befehlszeile ist die maximale Laufzeit auf unbegrenzt festgelegt.
Ändern Sie das Skriptausführungszeitlimit von php.ini
Bearbeiten Sie php.ini und ändern Sie den max_execution_time-Wert:
max_execution_time=500 //此修改需要重新加载php.ini,需要重启web服务器生效。
Stellen Sie die Skriptausführungszeit über die ein. htaccess-Datei
php_value max_execution_time 500
Legen Sie die maximale Ausführungszeit im Skript fest
ini_set('max_execution_time', 500);
Verwenden Sie die PHP-Funktion, um das Zeitlimit des Skripts aufzuheben.
set_time_limit(0);
set_time_limit wird zum Festlegen des Timeouts verwendet Diese Funktion gibt das Zeitlimit des Skripts an. Wenn der Satz innerhalb der angegebenen Anzahl von Sekunden ausgeführt wird, wird das Programm mit einem Fehler beendet.
Das Folgende ist ein Beispiel. Um einige der Daten zu ändern, führen Sie die Verarbeitung Schritt für Schritt durch:
Aktion. php
<?php $stid = isset($_GET['stid'])?$_GET['stid']:0; $endid = $stid + 100; $maxid = 10000; function dosomething(){ //要时间比较多的操作 …… } $sql_string=”select * from `table` where id>’$stid’ and id<=’$endid’ order by id”; $datas = getdata_bysql($sql_string); foreach($datas as $data){ //处理数据 ….. echo $id.” 处理完成. <br />”; if($id>=$maxid){exit;} } if($stid<=$maxid){ $stid = $stid + 100; $url=”action.php?stid=$stid”; echo $url; echo ‘<script language=”javascript”>location=”‘.$url.’”; </script>’; } ?>
wobei dosomething() eine zeitaufwändige Operation ist. Hier reduzieren wir die Laufzeit, indem wir den ID-Bereich begrenzen. Nach dem Ausführen wird der nächste Schritt automatisch durch den Javascript-Sprung ausgeführt
Das macht dedecms jetzt beim Generieren von HTML-Seiten.
Empfohlene verwandte Artikel :
1.Wie kann ich eine PHP-Zeitüberschreitung bewirken?
2.Wie löse ich die PHP-Anfrage? Schnittstellen-Timeout
Verwandte Videoempfehlungen:
1. Dugu Jiujian (4)_PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo beheben Sie das PHP-Laufzeitlimit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!