2011-10-26 106 views
2

我在Linux系統上使用Apache 2.2.1和PHP 5.3.8。Apache不沖洗

我需要在調用開始時刷新頁眉,但瀏覽器一直在等待,直到完整的內容被傳送。

在命令行中,使用「php test.php」,一切都如預期的那樣工作,但沒有涉及到apache。

我嘗試了一切。設置output_buffer = Off,zlib.output_compression = Off,禁用mod_deflate,SendBufferSize 512.我在php中也使用了所有不同的flush方法。但正如我所說,在命令行上它工作正常。

下面是響應頭:

  • 日期星期三,2011年10月26日16時37分07秒GMT
  • 服務器的Apache/2.2.21(亞馬遜)
  • X供電-通過PHP/5.3.8
  • 連接緊密
  • 傳輸編碼分塊
  • 內容類型text/html;字符集= UTF-8

我除去每個模塊,除了這些:

  • 的LoadModule authz_host_module模塊/ mod_authz_host.so
  • 的LoadModule ldap_module模塊/ mod_ldap.so
  • 的LoadModule log_config_module模塊/ mod_log_config.so
  • LoadModule setenvif_module modules/mod_setenvif.so
  • LoadModule mime_module modules/mod_mime.so
  • 的LoadModule dav_module模塊/ mod_dav.so
  • 的LoadModule autoindex_module模塊/ mod_autoindex.so
  • 的LoadModule dir_module模塊/ mod_dir.so
  • 的LoadModule alias_module模塊/ mod_alias.so
  • 的LoadModule rewrite_module模塊/ mod_rewrite.so

我希望有一個人誰可以幫我

回答

1

在所有probabilit y Apache很好,但是瀏覽器決定在接收到最初的刷新數據後繼續緩存(而不是開始渲染)一段時間。

documentation

flush()可能無法覆蓋您的Web服務器 和其對在 瀏覽器任何客戶端緩衝無影響的緩衝方案。

除了瀏覽器特定的黑客,例如發送大量空白(我不得不訴諸幾年前),使瀏覽器「重新考慮」之外,沒有什麼可以做的。

+0

姆姆,我吹了「標題」高達100kb。依然沒有 – user1015042

0

您應該嘗試使用另一個content-type或不使用content-type發送頁面。在我們的服務器中,我們遇到過類似的問題,並且我們發現mod_securitycontent-type爲html時會阻止刷新。