<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                傳統的 Web PHP 的 `echo` `var_dump` ....等等輸出函數輸出數據流程: php `echo`,`var_dump `->?php `output_buffering `-> webServer buffer->?browser buff ->?browser display php 輸出語句/函數 -> php 緩沖區配置 -> web 服務器緩沖區配置 -> 瀏覽器緩沖區 ->瀏覽器顯示 PHP 緩沖區配置主要由 `php.ini` 中的 `output_buffering` 配置的,在默認情況下,`output_buffering = 4096`。 當 PHP 輸出數據時,輸出的數據將會先經過 `output_buffering` 中,直到數據大于`output_buffering` 配置的值或者 PHP 文件執行完畢,則會將數據輸出 例子: ~~~ <?php // 開啟buffer緩沖區 php-cli下默認關閉buffer,由于web訪問測試較麻煩,該段代碼只為了查看以及測試緩沖區的作用,在web模式下,默認開啟,無需手動開啟,可自行配置 ob_start(); for ($i = 0; $i < 50; $i++) { echo $i; sleep(1); if ($i % 10 == 0) { echo '輸出一次', PHP_EOL; // 當i為10的倍數時,將直接結束并輸出緩沖區的數據,然后再次開啟緩沖區 ob_end_flush(); ob_start(); } } ~~~ ![](https://img.kancloud.cn/c8/61/c8610ad315e691bac2915db8ae0a688e_527x195.png) 同理,當在 web 訪問時,php 默認開啟 4096 的緩沖區,當里面存取的字符串長度超過時,將會進行一次輸出到 web 服務器,可通過`ob_start()`和`ob_end_flush`進行直接的緩沖區控制(此間將會無視`output_buffering`的值) > PS: > php-cli 默認關閉緩沖區并且無視 `output_buffering`的值,需要通過`ob_start()` 函數進行打開 `ini_set`無法修改`output_buffering`的配置 當 php.ini 中 php buffer 是關閉的,再次調用`ob_end_flush()`會報 warning。 ### **為什么web瀏覽器不能查看到分段輸出的值,原因為:web服務器還有一次緩沖區** Nginx 分段輸出例子: ~~~php <?php set_time_limit(0); ob_end_clean(); ob_implicit_flush(); header('X-Accel-Buffering: no'); // 關鍵是加了這一行。 for ($i = 0; $i < 1000; $i++) { echo $i; sleep(1); } ~~~ ![](https://img.kancloud.cn/52/2b/522be8b84836c79e28dce478936eceb1_1920x834.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看