2011-08-04 80 views
0

我的網站每天緩存的每一頁,由於某種原因,一些瀏覽器(Opera和有時瀏覽器)顯示一條警告消息:Gzuncompress警告在一些瀏覽器...做什麼?

Warning: gzuncompress() [function.gzuncompress]: data error in /.../router.php on line 42 

在大多數情況下,這似乎是我的流量的95%不受影響(或所以我相信)。有人知道需要啓用,更新,修復或調整的內容嗎?

下面是錯誤消息指的是代碼:

if (!empty($cache) && ($cache['mod_date'] * 60 * 60 * 24) > $loadTime) { 

$HTTP_ACCEPT_ENCODING = $_SERVER["HTTP_ACCEPT_ENCODING"]; 
if(headers_sent()) 
    $encoding = false; 
else if(strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false) 
    $encoding = 'x-gzip'; 
else if(strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false) 
    $encoding = 'gzip'; 
else 
    $encoding = false; 

$compressed = $cache['contents']; 

header('Content-Type: text/html'); 
if ($encoding) { 
    header("Content-Encoding: gzip"); 
    echo $compressed; 
} 
else { 
    echo gzuncompress($compressed); 
} 

任何幫助,將不勝感激!

+0

我想它不必與瀏覽器一樣多....在另一臺計算機上Opera加載的網站很好,然後我用最新版本更新了兩臺計算機......一個顯示正常,一個顯示錯誤。不必與瀏覽器/瀏覽器版本有關?!?! – NotJay

+0

第42行是:echo gzuncompress($ compressed); – NotJay

回答

0

gzuncompress() PHP手冊說:如果未壓縮數據是壓縮輸入數據的長度超過32768次該函數會返回一個錯誤...

您也可以嘗試讓PHP做的工作因爲你使用ob_gzhandler()代替。

+0

謝謝......我會試一試,讓你知道它是如何工作的。 – NotJay

相關問題