nginx php for迴圈輸出不全

2021-08-20 06:40:55 字數 2007 閱讀 1666

<?php

$str = '';

for($i = 0; $i < 100000;$i++)

echo $str;

?>

一台測試伺服器由於沒做fastcgi_buffer單獨設定,在跑乙個顯示10w條資料的迴圈輸出時只能顯示4700-5200條記錄。

訪問測試得到資料不完整,檢視nginx手冊後發現原因在於fastcgi_buffer設定

增加 fastcgi_buffers 256 128k;資料顯示正常

關於這個引數的解釋:

fastcgi_buffers

語法:fastcgi_buffers the_number is_size; 

預設值:fastcgi_buffers 8 4k/8k; 

使用字段:http, server, location 

這個引數指定了從fastcgi程序到來的應答,本地將用多少和多大的緩衝區讀取。

fastcgi_buffers可以設定為你的fastcgi返回的大部分應答大小,這樣可以處理大部分的請求,較大的請求將被緩衝到磁碟。

如果想關閉對所有請求道磁碟的緩衝,可以將fastcgi_max_temp_file_size 

設定為0。

fastcgi_buffer等於:fastcgi_buffer_size + the_number * is_size

如果乙個fastcgi應答為12k,那麼fastcgi_buffers 64 4k將分配3個4k的buffer。這便是為什麼fastcgi_buffers有兩個引數,而fastcgi_buffer_size(用於應答頭與應答的第一部分)只有1個引數,在fastcgi_buffer_size被清空後,它們和fastcgi_buffers一起被使用。

例如:學習是一件很讓人興奮的事情!

謝謝原作者。

thinkphp迴圈輸出

在thinkphp裡支援兩種迴圈輸出 第一種是volist,第二種是foreach標籤 第一種方式輸出的過程 在控制器裡先對模板賦值 user m user list user limit 10 select this assign list list list是乙個二維陣列 在模板定義迴圈 nam...

python迴圈語句輸出 python迴圈語句

1.條件語句 條件語句是通過一條或多條語句的執行結果 true或者false 來決定執行的 塊。可以通過下圖來簡單了解條件語句的執行過程 python 判斷非0的值為 true,而none和0被認為是 false。注意這裡的true和false首字母大寫,python對大小寫敏感。條件語句其基本形式...

ThinkPHP 多表迴圈遍歷輸出

在做專案的時候,經常會遇到分類樹輸出,有可能是多級,有可能是兩級,用得較多的應該是兩級選單樹了,比如後台的選單管理,最近做的乙個專案是兩個表需要迴圈出來,乙個是分類的,另乙個是子分類內容,然後這兩個分類要整合到一起做成乙個選單樹,然後在另外乙個頁面進行呼叫儲存。我的天,邏輯好麻煩,好了,先上 thi...