Ошибка кодировки содержимого - PullRequest
1 голос
/ 20 августа 2011

Я разработал php-smarty веб-приложение, страница очень тяжелая из-за google-map и большого количества HTML-кодов. Во время загрузки все это больше, чем 1mb. Я пытаюсь compress, потому что он часто обновляется.

Я использовал: .htaccess Конфигурация для сжатия как: -

<IfModule mod_gzip.c>
    mod_gzip_on       Yes
    mod_gzip_dechunk  Yes
    mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
    mod_gzip_item_include handler   ^cgi-script$
    mod_gzip_item_include mime      ^text/.*
    mod_gzip_item_include mime      ^application/x-javascript.*
    mod_gzip_item_exclude mime      ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

... но ничего не происходит.

Я также пробую метод php gzip, ob_start(), он выбрасывает Ошибка кодирования содержимого . Если вы знаете, как это сделать, пожалуйста, предложите лучший способ.

Заранее спасибо.

1 Ответ

1 голос
/ 14 ноября 2013

1) Сначала я хочу сказать вам, что у нас есть некоторые проблемы с процедурой кодирования. Иногда мы скучаем по кодировке команды. Если мы будем следовать реальной процедуре (команде) или программному обеспечению кодирования, тогда наша проблема может быть решена в этом случае. В качестве примера, мы хотим создать файл gzip.

`gzip -9 production.min.css`

Будет создан файл production.min.css.gz.

2) Иногда это может произойти, если ваша конфигурация выбирает данные с различных серверов как apache и др. Решение состоит в том, чтобы включить zlib.output_compression в вашем php.ini.

Откройте свой php.ini. На Debian / Ubuntu это /etc/php5/apache2/php.ini:

vi /etc/php5/apache2/php.ini

В Fedora / CentOS / RedHat это /etc/php.ini:

vi /etc/php.ini

Найдите строку zlib.output_compression и включите zlib.output_compression:

zlib.output_compression = On

Перезапустите Apache потом:

В Debian / Ubuntu вы запускаете:

/etc/init.d/apache2 restart

В Fedora / CentOS / RedHat вы запускаете:

/etc/init.d/httpd restart

3) Очистите кеш браузера, куки и т. Д., Чтобы быть уверенным. Скорее всего, это не решит проблему постоянно или даже временно.

4) Это может быть проблема с gzip. Откройте новую вкладку и введите следующий "about:config", тогда вы увидите предупреждение, чтобы быть осторожным, просто подтвердите его. В строке поиска введите "network.http.accept-encoding". Убедитесь, что его значение равно gzip, deflate, если не щелкните его правой кнопкой мыши и выберите параметр для сброса. Некоторые люди сообщают, что изменение его на "true" может решить проблему, но я бы не советовал, поскольку это, скорее всего, вызовет больше проблем в будущем.

5) Проверьте брандмауэр, особенно если вы используете Zone Alarm. Удаление всех добавленных программ и восстановление настроек по умолчанию фактически исправили это в первый раз для меня.

6) Удалите ваш ssl slate, зайдя в панель управления, а затем щелкнув параметры Интернета. После открытия нажмите content tab и нажмите clear ssl slate.

7) Вы используете собственный DNS? IE OpenNic, если это так, выключите его, чтобы убедиться. Если вы не знаете, о чем я говорю, игнорируйте это.

8) Запустите хорошую программу очистки конфиденциальности, такую ​​как Advanced System Care или любую другую, используемую для этого.

В последний раз, когда это случилось со мной, я сделал все следующее, а затем reboot. У меня не было проблемы снова в любом браузере, и это было хорошо.

С огромной благодарностью мистер Дрю

...