Bug #15086 Updated: trans sid still doesn't work with zlib.compression or ob_gzhandler (PHP 4.1.1)

From: Date: Thu, 07 Mar 2002 02:15:45 +0000
Subject: Bug #15086 Updated: trans sid still doesn't work with zlib.compression or ob_gzhandler (PHP 4.1.1)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-1861@lists.php.net to get a copy of this message
ID: 15086 Updated by: php@onethumb.com Reported By: Basc@Basc.de Status: Feedback Bug Type: Session related Operating System: Debian PHP Version: 4.1.1 Assigned To: yohgaki New Comment: 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. Previous Comments: ------------------------------------------------------------------------ [2002-03-06 02:56:45] yohgaki@php.net 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] yohgaki@php.net > 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] yohgaki@php.net 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. ------------------------------------------------------------------------ [2002-01-17 11:03:34] Basc@Basc.de When I compress my output with ob_gzhandler or with zlib.output_compression trans sid doesn't work. Without output compression trans sid works fine. I use PHP 4.1.1 (Debian Package) In following code php doesn't add the sid to the testlink (sessioncookies are off) <?php session_start(); session_register("dummy"); $dummy=1; if (!$sid) { header("Location: $PHP_SELF?".SID); exit(); } ?> <a href="test.php">Testlink</a> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=15086&edit=1

« previous php.bugs (#1861) next »