Поиск:

Ответ в темуСоздание новой темы Создание опроса
> php zlib.output_compression и разные сервера или, failed to delete buffer zlib output ... 
:(
    Опции темы
ravenkg
Дата 6.12.2012, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.12.2012

Репутация: нет
Всего: нет



Всем доброго времени суток! В общих чертах ситуация такова: 
Есть у меня в подчинении несколько хостинговых серверов, хостятся там исключительно клиенты одной проприетарной CMS. Софтина имеет одну функцию, из-за которой в последнее время у меня начались проблемы:
Код

    function openApplicationFile($filename, $appsID)
    {
        $file_info = SJB_UploadFileManager::getMimeTypeAppsByFilename($filename, $appsID);
        if ($file_info) {
            $file_link = SJB_UploadFileManager::getUploadedFileLink($file_info['id'], true);
            while (ob_get_level() !== 0)
                ob_end_clean();
            header("Content-Length:" . filesize($file_link));
            header('Content-Disposition: attachment; filename="' . $filename . '"');
            header("Content-type: " . $file_info['mime_type']);
            readfile($file_link);
            exit();
        }
        return false;
    }


а в частности при включении zlib.output_compression (включается софтиной через ini_set()) обращение к ней вызывает
Код
Notice: ob_end_clean() [ref.outcontrol]: failed to delete buffer zlib output compression in ....

на весь экран. Причем такое поведение наблюдается на всех серверах, за исключением 1-го - там установлен php-5.4.7... На всех остальных (php-5.2.17, php-5.3.(16-19)) наблюдается ошибка. 

То, что функция кривая это понятно, при включеной компресии ob_get_level() никогда не приравняется нулю и т.д. я понимаю, только сделать я ничего не могу, так как править код клиентских приложений я не имею права. Разработчики данного софта мной оповещены, но похоже вносить правки они не собираются. А некоторые клиенты требуют возможность включения компрессии. 
Мне нужно знать в чем же все-таки разница, и почему один и тот же код по разному ведет себя на разных серверах. Настройки php.ini на всех серверах идентичны, (один и тот же файл продублированый на разные машины). Все пакеты интерпретатора установлены из одного репозитория (Remi Collet). Вариант "поиграться с настройками" ни к чему не привел, единственное - включение output_buffering приводит к подвисанию страницы на какое-то время, а потом отображается пустая страница. 
Помогите пожалуйста разобраться в этой непростой проблеме.

В аттаче вывод phpinfo с одной из проблемных машин.


Это сообщение отредактировал(а) ravenkg - 6.12.2012, 09:49

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  phpinfo.txt 26,22 Kb
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0344 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.