ID: 15086 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Feedback Bug Type: Session related Operating System: Debian PHP Version: 4.1.1 Assigned To: yohgaki New Comment:
One last update... :) Using the php.ini values to turn session.auto_start and zlib.output_compression also appear to work great. 4.1.2 truly appears to fix this problem. Previous Comments: ------------------------------------------------------------------------ [2002-03-06 21:36:58] [EMAIL PROTECTED] Works like a charm! Just tried 4.1.2 using ob_start("ob_gzhandler") and session_start(), and the SID was passed perfectly. I'll fiddle with the php.ini settings too and see how we do, but that's definitely good enough for me. Kudos! ------------------------------------------------------------------------ [2002-03-06 21:15:44] [EMAIL PROTECTED] I've tried a number of different combinations of both php.ini settings (zlib.output_compression and session.auto_start) as well as in-line function calls (session_start, ob_start("ob_gzhandler")), and in every situation I've found, the transient SID is lost when compression is turned on. Note that I'm using PHP 4.1.1 (4.1.2 is compiling as I type this) on RedHat Linux 7.2, and did compile it with --enable-trans-sid. Here's a summary of the 5 different tests I tried: [Test 1] php.ini: zlib.output_compression = Off session.auto_start = 0 --snip-- <? session_start(); session_register("testvar"); $testvar = "test value"; ?> <a href="/test.php">Testing</a> --snip-- Result: PHPSESSID gets appended correctly. [Test 2] php.ini: zlib.output_compression = Off session.auto_start = 1 --snip-- <? session_register("testvar"); $testvar = "test value"; ?> <a href="/test.php">Testing</a> --snip-- Result: PHPSESSID gets appended correctly. [Test 3] php.ini: zlib.output_compression = Off session.auto_start = 0 --snip-- <? ob_start("ob_gzhandler"); session_start(); session_register("testvar"); $testvar = "test value"; ?> <a href="/test.php">Testing</a> --snip-- Result: PHPSESSID is lost and not appended. [Test 4] php.ini: zlib.output_compression = On session.auto_start = 0 --snip-- <? session_start(); session_register("testvar"); $testvar = "test value"; ?> <a href="/test.php">Testing</a> --snip-- Result: PHPSESSID is lost and not appended. [Test 5] php.ini: zlib.output_compression = On session.auto_start = 1 --snip-- <? session_register("testvar"); $testvar = "test value"; ?> <a href="/test.php">Testing</a> --snip-- Result: PHPSESSID is lost and not appended. ------------------------------------------------------------------------ [2002-03-06 02:56:45] [EMAIL PROTECTED] Could you try to start session manually in script and report the result? Does it work now? I think it should. ------------------------------------------------------------------------ [2002-02-06 22:22:03] [EMAIL PROTECTED] > User should make sure *not* to use session auto start to make trans sid > when zlib.ouput compression is enabled. should be User should make sure *not* to use session auto start to make trans sid work when zlib.ouput compression is enabled. ------------------------------------------------------------------------ [2002-02-06 22:20:52] [EMAIL PROTECTED] Note to this report. The reason trans sid does not work is related to output handler registration order. This is not a simple fix at all. (I might set status to Suspended) User should make sure *not* to use session auto start to make trans sid when zlib.ouput compression is enabled. The reason SID is not defined is not related to output control. I also made a patch to define SID constant always, but it's not applied to CVS. (yet) If you have problem with SID not defined *even if* you have used --enable-trans-sid when you configure PHP and session.trans_sid = 1 in your php.ini, please submit a new bug report as session problem. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/15086 -- Edit this bug report at http://bugs.php.net/?id=15086&edit=1