<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### ob緩沖的介紹 - ob緩沖是服務器向客戶端響應數據時,存儲響應數據的臨時空間 - 服務器在向客戶端推送數據之前,不是一次性把所有的數據都給客戶端(cli模式除外),而是先push到ob緩沖區域,然后在一點一點給客戶端,減輕服務器的壓力。 ### 開啟ob緩沖 - 在php.ini的配置文件中,通過output_buffering參數進行配置 ``` putput_buffering - off: 表示關閉php輸出緩沖 - on: 表示打開無限大的輸出緩沖 - 4096: 表示打開大小為4096Byte的輸出緩沖 ``` - 在程序中動態的開啟緩沖功能`ob_start()` - 通過php.ini打開,則作用于所有php頁面,使用函數手動打開,則只能作用與當前頁面 ### php輸出順序 - 打開ob緩沖:echo,print --> php ob緩沖 --> 服務器緩沖 --> 瀏覽器緩沖 --> 頁面展示 - 關閉ob緩沖:echo,print --> 服務器緩沖 --> 瀏覽器緩沖 --> 頁面展示 ``` ob緩沖的知識點 1. 在服務中,如果我們開啟了ob 緩沖,則echo出來的數據首先會放入ob中 2. 當php頁面執行到最后,則會把ob緩沖的數據,刷新到服務器的緩沖中,然后通過服務器對數據封裝成http響應包,返回給瀏覽器 3. 如果沒有開啟ob,所有數據直接發送到服務器緩沖中 ``` ### ob緩沖相關函數 - ob_start() 開啟ob緩沖 - ob_clean() 清空緩沖區域 - ob_get_contents() 獲取緩沖區域里面的內容 - ob_get_length() 獲取緩沖區域的長度 - ob_get_clean() 獲取緩沖區域內容,并清空緩沖區域 - ob_flush() 將緩沖區域的內容發送到服務器 - ob_end_flush() 將緩沖區域內容大宋到服務器,并關閉緩沖 - on_end_clean() 清空緩沖區域內容,并關閉緩沖 - ob_implicit_flush(true/false) 函數強制有輸入時立即發送到瀏覽器。 ### 頁面靜態化 - 數據庫緩存減輕了數據庫壓力,但是服務器的壓力還是存在的 - 頁面靜態化減輕了服務器和數據庫的壓力 - 使用頁面靜態化,查詢比較頻繁,且內容不經常更新的頁面。數據經常變化的頁面不適合頁面靜態化 - 關鍵代碼 ``` if(is_file('index.html') && (time() - filemtime('index.html') < 300)) { // 設置緩沖的失效時間,如果靜態文件沒有失效,則直接輸出靜態文件 require_once('index.html') } else { // todo 處理數據 ob_start() // 模板文件 requrie_once('template.php') // 將緩沖中的數據,保存在靜態文件 file_put_contents('index.html', ob_get_contents()) } ```
                  <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>

                              哎呀哎呀视频在线观看