Результаты поиска по тэгу ‘ob-start’

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 эта проблема, похоже, исправлена.

Тэги, соотвествующие заданному условию не найдены.