Heim > Backend-Entwicklung > PHP-Tutorial > Ich möchte eine kleine Frage zur Endlosschleife stellen.

Ich möchte eine kleine Frage zur Endlosschleife stellen.

WBOY
Freigeben: 2023-03-02 08:52:02
Original
1111 Leute haben es durchsucht

Warum stürzt der Browser beim Schreiben einer Endlosschleife direkt ab, kann aber weiterhin in der Befehlszeile ausgeführt werden? Liegt es nur daran, dass die Vereinbarung anders ist? Bitte geben Sie mir eine ausführliche Erklärung.

<code>while(true){
echo 'a';
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

Warum stürzt der Browser beim Schreiben einer Endlosschleife direkt ab, kann aber weiterhin in der Befehlszeile ausgeführt werden? Liegt es nur daran, dass die Vereinbarung anders ist? Bitte geben Sie mir eine ausführliche Erklärung.

<code>while(true){
echo 'a';
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie auf der Browserseite testen, da PHP über verschiedene Caches verfügt
Sie können zuerst ob_end_flush
aufrufen und dann in der Schleife „flush()“ aufrufen
Auf diese Weise wird der Inhalt ausgegeben
Sie müssen jedoch auch die Standardausführungszeit von PHP und den Timeout-Mechanismus des Browsers berücksichtigen

Die Ausführungszeit von PHP im CLI-Modus ist standardmäßig unbegrenzt und es sind keine Funktionen wie ob standardmäßig aktiviert

http://www.php100.com/manual/...

php.ini-Einstellungsoptionen überschreiben

implicit_flush: Im Befehlszeilenmodus werden alle Ausgaben von print und echo sofort und ohne Pufferung an den Ausgabeport geschrieben. Wenn Sie die Standardausgabe verzögern oder steuern möchten, können Sie weiterhin die Einstellung für die Ausgabepufferung verwenden.

max_execution_time: Aufgrund der unendlichen Möglichkeiten, PHP in einer Shell-Umgebung zu verwenden, ist die maximale Laufzeit auf einen unendlichen Wert eingestellt. Die Ausführung einer für das Web entwickelten Anwendung dauert möglicherweise nur wenige Sekunden, während die Ausführung einer Shell-Anwendung möglicherweise viel länger dauert.

Die max_execution_time von php.ini gibt die Programmausführungszeit an. Wenn diese Einstellung überschritten wird, gibt das Skript einen schwerwiegenden Fehler zurück. Der Standardwert beträgt 30 Sekunden und die Befehlszeile steuert dies nicht.

Sie können bestehenset_time_limit(0)Es gibt keine zeitliche Begrenzung

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage