2012-04-27 87 views
2

我用quickcache从http://sourceforge.net/projects/quickcache有缓存的一段时间未定义指数:HTTP_ACCEPT_ENCODING

在我的服务器[HTTP_ACCEPT_ENCODING] => gzip的一些动态页面,缩小

但quickcache_main.php

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

if (strpos($_SERVER["HTTP_ACCEPT_ENCODING"],'gzip') !== false) { 

是invok编辑我得到error_log标题错误。当脚本创建新的缓存页面时,我看不到从mysql表中加载这些缓存页面或访问未缓存(或过期)页面的问题。我也从来没有看到我的测试触发了一个新的错误日志,如标题。无论如何,我非常频繁地看到他们列出。我错过了什么?

+3

的'的Accept-Encoding:'头是不存在的所有请求/客户端。缺席时:通知。 – mario 2012-04-27 17:28:43

+0

[PHP:“Notice:Undefined variable”和“Notice:Undefined index”]的可能重复(http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – mario 2012-04-27 17:29:21

+0

@mario我不明白这一点。与链接问题相关,如果(isset ...,但通知仍然出现,我已添加。 – dstonek 2012-04-27 20:12:56

回答

0

你的代码更改为:

if (!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) { 
    ob_start();    
} 
elseif (strpos(' ' . $_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') == false) { 
    if (strpos(' ' . $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') == false) { 
     ob_start(); 
    } 
    elseif(!ob_start("ob_gzhandler")) { 
     ob_start(); 
    } 
} 
elseif(!ob_start("ob_gzhandler")) { 
    ob_start(); 
}