Home  >  Article  >  Backend Development  >  I would like to ask a small question about the infinite loop.

I would like to ask a small question about the infinite loop.

WBOY
WBOYOriginal
2016-12-01 00:57:051054browse

Writing an infinite loop, why does the browser crash directly, but it can continue to execute on the command line? Is it just because the agreement is different? Please give me a detailed explanation.

<code>while(true){
echo 'a';
}</code>

Reply content:

Writing an infinite loop, why does the browser crash directly, but it can continue to execute on the command line? Is it just because the agreement is different? Please give me a detailed explanation.

<code>while(true){
echo 'a';
}</code>

If you test on the browser side, because PHP has various caches
You can call ob_end_flush
first and then call flush() in the loop
This way, the content will come out
But you also need to consider the default execution time of PHP , and the browser’s timeout mechanism

In cli mode, the execution time of PHP is unlimited by default, and functions such as ob are not enabled by default

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

Override php.ini setting options

implicit_flush: In command line mode, all output from print and echo will be written to the output port immediately without any buffering operation. If you wish to delay or control standard output, you can still use the output buffering setting.

max_execution_time: Given the endless possibilities of using PHP in a shell environment, the maximum execution time is set to an infinite value. An application developed for the web may only take a few seconds to run, whereas a shell application may take much longer.

max_execution_time of php.ini specifies the program execution time. If this setting is exceeded, the script returns a fatal error. The default value is 30 seconds, and the command line does not control this.

You can pass set_time_limit(0)There is no time limit

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn