Heim  >  Artikel  >  Backend-Entwicklung  >  So beheben Sie das PHP-Laufzeitlimit

So beheben Sie das PHP-Laufzeitlimit

angryTom
angryTomOriginal
2019-08-24 09:27:4611299Durchsuche

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[&#39;stid&#39;])?$_GET[&#39;stid&#39;]: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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Arten von Caches in PHPNächster Artikel:Arten von Caches in PHP