4

如果存在 ob_start('ob_gzhandler'),我有一个网站会在浏览器中引发内容编码错误。如果我删除该语句,它运行良好。

  • 该站点与许多其他站点使用相同的框架、服务器和托管包。无论语句是否在其中,它们都有效。
  • 该语句位于框架中,而不是应用程序代码中,因此它由所有站点共享。
  • 工作站点和非工作站点之间的配置没有区别。
  • 该站点在本地运行良好,使用完全相同的代码和数据。
  • 您可以使用 curl / wget 获取该站点,并且返回的 HTML 在浏览器中呈现良好。
  • 响应头完全相同,没有声明。

我现在已经删除了远程服务器上的所有代码,并重新上传了所有内容。还是没有变化。下一步是重新安装站点,从头开始,但我不想丢失所有数据。

任何指针,建议或解决方案?

4

3 回答 3

3

通常我在下面做,它对我有用,试一试

在您开始的页面底部写上ob_end_clean();ob_flush();ob_start();

参考:

ob_end_clean();

ob_flush();

于 2011-03-26T10:49:51.953 回答
2

只需将这行代码放在启动中,一切都会好起来的..

while (ob_get_level() > 0) { ob_end_clean() ; } 
于 2013-03-03T14:14:01.520 回答
1

如果您已经在使用 Apache 的 gzip 压缩(从外观上看,因为 CSS/JS 已被压缩,据我所知),那么使用 ob_start('ob_gzhandler') 将压缩该压缩......浏览器将无法处理它。

我说的当然是在更正中,因为我一直使用 Apache 来为我做这件事,但看起来你正在双重 gzip 压缩东西,这就是为什么它在没有“ob_gzhandler”语句的情况下工作的原因。

检查您在其他站点上的 .htaccess 文件,并将其与您正在运行的站点进行比较.co.za 这让我觉得它们和你说的不是同一个框架?耸耸肩

于 2011-03-26T11:14:05.953 回答