错误330(net :: ERR_CONTENT_DECODING_FAILED):

最近我们迁移到一个新的服务器。 2天后,我得到以下问题

1)我们在会话表上崩溃了,我们通过修改它来轻松修复

2)我们运行OpenX作为我们的广告服务器,它也崩溃了,但没有证据在error.log它让你login,但在看dashboard.php,我们得到的时刻:

Error 330 (net::ERR_CONTENT_DECODING_FAILED): (Google Chrome) 

您尝试查看的页面无法显示,因为它使用无效或不受支持的压缩forms。 (火狐)


OpenX在PHP上使用以下服务:

OpenX需要: http : //www.openx.com/docs/2.8/adminguide/System%20requirements

OpenX使用默认的PHP设置。 但是,服务器pipe理员有时更改这些设置。 在安装OpenX之前,请检查以下设置是否正确:

magic_quotes_runtime必须closuressafe_mode必须closuresregister_argc_argv必须打开如果要通过命令行运行维护file_uploads需要打开以允许HTTP文件上载OpenX需要以下PHP扩展:

可以是mysql扩展名,也可以是pgsql 。 不支持mysqli扩展。 ZLib扩展,用于转换Flash MX生成的压缩Flash文件中的链接。 FTP扩展。 如果不存在,OpenX将尝试模拟它,这可能是一个不太稳定的解决scheme。

GD扩展,在主页上生成graphics。 如果扩展未启用,您将无法查看您的主页上的图表或统计信息。 要么login到主页,需要openssl扩展名或启用SSL的curl扩展名。 如果SSL未启用,您将在主页中收到错误消息,但不影响操作。


任何线索可能的原因,或如何收集更多的信息将不胜感激。 谢谢

当你的HTTP请求的头文件声称内容是gzip编码时,会发生这种情况,但事实并非如此。 closuresgzip编码设置或确保内容实际上是编码的。

我在php.ini启用了zlib.output_compression ,它似乎解决了我的问题。

代码需要在logging时保存没有BOM的UTF8。 有时用(Notepad ++)或其他编码工具编写代码并使用UTF8编码,会发生此错误。 对不起,我不懂英文。 这只是我的经验。

由于添加了输出缓冲模块扩展(ob_gzhandler)而导致此错误。 在启动ob_start()并结束ob_flush()时使用输出缓冲

 <?php ob_start( 'ob_gzhandler' ); echo json_encode($array); ob_end_flush(); ?> 

用这个:

 <?php ob_start(); echo json_encode($array); ob_flush(); ?> 

如果您要使用Codeigniter框架,那么只需将其设置为config文件即可:

 $config['compress_output'] = FALSE; 

php.iniconfiguration文件中,使用:

 zlib.output_compression=On 

你使用ob_start(ob_gzhandler)函数吗? 如果是这样,并且如果输出ob_start(ob_gzhandler)函数之上的任何内容,则会出现此错误。 您可以不使用此function或不输出此function以上的内容。 ob_gzhandlercallback函数将确定浏览器将接受哪种types的内容编码,并相应地返回其输出。 所以如果你输出的内容高于这个函数,那么内容的编码可能与ob_gzhandler的输出内容不同,并且会导致这个错误。

如果有人仍然在狩猎这个可恶的问题的原因,有一个解决scheme来钉死造成的文件。 从Drupal社区https://www.drupal.org/node/1622904#comment-10768958

我引用:

编辑

includes/bootstrap.inc:

函数drupal_load() 。 这是一个简短的function。 find以下行: include_once DRUPAL_ROOT . '/' . $filename; include_once DRUPAL_ROOT . '/' . $filename; 暂时更换

 ob_start(); include_once DRUPAL_ROOT . '/' . $filename; $value = ob_get_contents(); ob_end_clean(); if ($value !== '') { $filename = check_plain($filename); $value = check_plain($value); print "File '$filename' produced unforgivable content: '$value'."; exit; } 

php.ini中启用gzip压缩:

 zlib.output_compression = On 

并将其添加到您的.htaccess文件中:

 <IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule> 

我在一个drupal站点上遇到了这个问题,而这个线程中的其他解决scheme都没有帮助。 经过一些故障排除后,我发现local.settings.php有一个结束标记,其后面有一个空格,如下所示:

 <?php $databases = array( 'default' => array ( 'default' => array ( 'driver' => 'mysql', 'database' => 'xxx', 'username' => 'xxx', 'password' => 'xxx', 'port' => '', 'host' => 'xxx', ), ), ); ?> 

更新local.settings.php到以下解决:

 <?php $databases = array( 'default' => array ( 'default' => array ( 'driver' => 'mysql', 'database' => 'xxx', 'username' => 'xxx', 'password' => 'xxx', 'port' => '', 'host' => 'xxx', ), ), ); 

closures“?>”PHP标签在这里是不必要的。 如果您select使用结束标记,则必须确保后面没有字符/空格。

升级我们的系统到Revive时,我们也遇到了这个问题。 GZIP转机后,我们发现问题仍然存在。 经过进一步调查,我们发现升级后文件权限不正确。 一个简单的recursionchmod做了诀窍。

还有一个想法让其他人得到这个…

我有一些gzip的svg,但它有一个php错误的输出,这导致了这个错误消息。 (因为在gzip二进制中有文本。)解决php错误解决了它。

Interesting Posts