我的服务器上使用 gzip 的所有地方都显示黑色问号

我的服务器上使用 gzip 的所有地方都显示黑色问号

我正在运行 Apache + PHP,我的网站中使用 gzip 的所有地方(例如 WordPress 中的 CSS)都不再加载,只显示一个黑色问号。我不知道在哪里查找错误。

在此处输入图片描述

我的测试脚本是这样的:

<?php
header( 'Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 1209600 ) );
header( 'Content-type: text/css; charset=UTF-8' );

$http_accept_encoding = $_SERVER["HTTP_ACCEPT_ENCODING"];

if ( strpos( $http_accept_encoding, 'x-gzip' ) !== FALSE ) {
        $encoding = 'x-gzip';
} else if( strpos($http_accept_encoding,'gzip') !== FALSE ) {
        $encoding = 'gzip';
} else {
        $encoding = FALSE;
}

if ( $encoding ) {
        header( 'Content-Encoding: ' . $encoding );
        echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
}

$output = 'Hellooooooooooooooo World';


if ( $encoding ) {
        echo gzcompress( $output, 9 );
} else {
        echo $output;
}

输出如下:

http://brandonwamboldt.ca/css.php

它也不稳定,有时候可以正确加载,有时候则不行

答案1

我不知道问题到底出在哪里,但我从 PHP 5.4.4 回滚到 PHP 5.4.3,问题不再出现(配置文件相同)。将 PHP 5.4.4 放回去又会导致问题。

相关内容