[PHP-DOC] Bug #14829 Updated: Session ID is not added if output is compressed with ob_gzhandler From: yohgaki <email protected>
Date: 01/07/02

ID: 14829
Updated by: yohgaki
Reported By: hkdw <email protected>
Old Status: Assigned
Status: Closed
Bug Type: Documentation problem
Operating System: Windows ME
PHP Version: 4.1.0
Assigned To: yohgaki
New Comment:

Doc updated.
There is appropriate bug report for handling output buffers correctly.
Closing this bug report.

Previous Comments:
------------------------------------------------------------------------

[2002-01-06 22:47:27] yohgaki <email protected>

Output control would be better type, but change this to Doc problem,
since I'm going to change doc.

BTW, why you use ob_implicit_flush() with ob_gzhandler?
Anyway, use zlib.compression instead of ob_gzhandler, then output
compression and trans sid would work. Or register ob_gzhandler *before*
starting session. (i.e. The order of output handler regsiteration is
*wrong* and it simply does not work)

------------------------------------------------------------------------

[2002-01-03 12:40:03] hkdw <email protected>

This is the prepend for all of my files:

// Start session
$s_permission = false;
 <email protected>();
session_register("s_permission");
$fallback = session_name()."=".session_id();

// Start output buffering
ob_start("ob_gzhandler");
ob_implicit_flush(0);

----

This is the footer:

ob_end_flush();

----

The script output works, but the session id is not added to any URLs (if cookies are set off for sessions). When I remove the output buffering things turn out fine and the SESSION-ID is added to the URLs. I've tried to add <?=SID?> on each URL, but that didn't help either. I invented a variable called $fallback, and add this to each URL, but this can't be a perfect solution, as without output compression this is not necessary.

Thanx Daniel

------------------------------------------------------------------------

Edit this bug report at http://bugs.php.net/?id=14829&edit=1