ob_gzhandler и session_start

texrdcom

Новичок
ob_gzhandler и session_start

Проблема в том что выдает ошибку если стартует сессия о том что не может работать с изменнным уролом, после певого старта сессии в дальнейшем идет обрабтка нормальная так как все передаеться через куки.
Вот и вопрос как избавиться от этого не хочеться приминать что то другое чем ob_gzhandler - так как встроенная функция и так дальше что делать в таком случаи ? php 5
 

tony2001

TeaM PHPClub
[m]session_start[/m]
session_start() will register internal output handler for URL rewriting when trans-sid is enabled. If a user uses ob_gzhandler or like with ob_start(), the order of output handler is important for proper output. For example, user must register ob_gzhandler before session start.
 

texrdcom

Новичок
да я понимаю но не очень удобно покоплася в исходниках систем frii для примера invision forum
вот как решили там:
PHP:
  $buffer = ob_get_contents();
        ob_end_clean();
        @ob_start('ob_gzhandler');// просто гасим ошибки 
        print $buffer;
Правда на php.net
Есть и такое решение:
PHP:
header("Content-Encoding: gzip");   
echo gzencode($text, 9, FORCE_GZIP);
Достаточно ли этого заголвка или на старых браузерах можгут быть ошибки ?
 

SiMM

Новичок
> да я понимаю
Что именно ты понимаешь?

> не очень удобно
Что именно неудобно?
 

texrdcom

Новичок
SiMM
Я понимаю что сессия докидывает индефикатор к урлу !
Что именно неудобно?
неудобно! потому что если вывод делаеться через однин модуль в системе мне надо прописывать свою функцию которая будет стартовать перед выводом сесию когда надо я не считаю что это очень удобно вместо стандартной функции php
вызывать свою, хотя как вариант тоже подходит!
p/s
Если не прав я поправь меня
 

SiMM

Новичок
> Я понимаю что сессия докидывает индефикатор к урлу !
Нет, не понимаешь. Ключевая фраза в отквоченном tony2001 - это "For example, user must register ob_gzhandler before session start." При чём, почему именно так, а не иначе - понятно из самого механизма сессий и малейшего представления о том, что такое сжатие информации и что такое стек [m]ob_start[/m].
Всё остальное оставлю без комментариев, поскольку проблема надуманная.
 
Сверху