Warning: ob_start(): output handler ‘ob_gzhandler’ и т.д.

Не знаю, у всех ли возникает эта проблема, но я заметил, что при первом, после запуска браузера, заходе на свой блог, я вверху получаю следующее предупреждение:

Warning: ob_start(): output handler 'ob_gzhandler' cannot be used after 'URL-Rewriter' in /home/wp/www/wp-includes/functions.php

Очень мне это не понравилось и я решил это дело как-то исправить.

Как выяснилось, это сообщение выдается из-за конфликта механизма создания сессии и gzip обработчкиа. То есть, если в настройках WordPress отключить GZIP компрессию, то это предупреждение исчезает. Многие как я понял так и делали. Но мне кажется, нет смысла отказываться от такой полезный штуки, как gzip-компрессия. Поэтому нашёлся другой способ, требующий внесения небольшого изменения в файл functions.php, расположенный по пути:

каталог_с_wp/wp-includes/functions.php

Открываем его и перемещаемся к строке 419, она содержит строку

ob_start('ob_gzhandler');

над этой строкой добавляем еще одну:

ob_end_flush();

В итоге, весь код редактируемой функции будет следующий:

function gzip_compression() {
    if ( !get_option('gzipcompression') ) return false;
    if ( extension_loaded('zlib') ) {
        ob_end_flush();
        ob_start('ob_gzhandler');
    }
}

Это позволит нам и сохранить включенным gzip-сжатие, и избавит от предупреждения вверху экрана.

Добавлено(1 июля 2007): В версии WordPress 2.2.1 эта проблема, похоже, исправлена.

Оставьте комментарий!

Обязательные поля отмечены знаком *

*
*

Powered by WP Hashcash

аватары блог браузер верстка интерфейсы контекст плагины ссылки статистика темы топ формы яндекс bugs chrome freeBSD Google gravatar HTML linux plugins rss sape.ru seo wget WordPress yandex