php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #46453 Different Results than expected by session_decode_variation3.phpt
Submitted: 2008-11-01 15:59 UTC Modified: 2009-04-26 01:21 UTC
From: hostmaster at uuism dot net Assigned:
Status: Closed Package: Session related
PHP Version: 5.2CVS-2008-11-01 (snap) OS: Fedora Core 4
Private report: No CVE-ID: None
 [2008-11-01 15:59 UTC] hostmaster at uuism dot net
Description:
------------
When I run session_decode_variation3.phpt, the session_start() command produces a different results than expected after initializing session.serialize_handler=blah.  Instead of responding with "Warning: session_start(): Cannot find save handler files" and still opening a session (?), PHP responds with "Warning: session_start(): Cannot find save handler files" and does not open a session.

I can't find any documentation as to the correct Warning with the session.serialize_handler is not set to php or php-binary.

Thanks.

Jim




Reproduce code:
---------------
--INI--
session.serialize_handler=blah
--FILE--
<?php

ob_start();

/*
 * Prototype : string session_decode(void)
 * Description : Decodes session data from a string
 * Source code : ext/session/session.c
 */

echo "*** Testing session_decode() : variation ***\n";

var_dump(session_start());
var_dump($_SESSION);
$_SESSION["foo"] = 1234567890;
$_SESSION["bar"] = "Blah!";
$_SESSION["guff"] = 123.456;
var_dump($_SESSION);
$encoded = "A2Zvb2k6MTIzNDU2Nzg5MDs=";
var_dump(session_decode(base64_decode($encoded)));
var_dump($_SESSION);
var_dump(session_destroy());

echo "Done";
ob_end_flush();
?>


Expected result:
----------------
*** Testing session_decode() : variation ***

Warning: session_start(): Unknown session.serialize_handler. Failed to decode session object. in %s on line %d
bool(true)
array(0) {
}
array(3) {
  ["foo"]=>
  int(1234567890)
  ["bar"]=>
  string(5) "Blah!"
  ["guff"]=>
  float(123.456)
}

Warning: session_decode(): Unknown session.serialize_handler. Failed to decode session object. in %s on line %d
bool(true)
array(3) {
  ["foo"]=>
  int(1234567890)
  ["bar"]=>
  string(5) "Blah!"
  ["guff"]=>
  float(123.456)
}
bool(true)
Done


Actual result:
--------------
*** Testing session_decode() : variation ***

Warning: session_start(): Cannot find save handler files in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 13
bool(true)

Notice: Undefined variable: _SESSION in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 14
NULL
array(3) {
  ["foo"]=>
  int(1234567890)
  ["bar"]=>
  string(5) "Blah!"
  ["guff"]=>
  float(123.456)
}

Warning: session_decode(): Unknown session.serialize_handler. Failed to decode session object. in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 20
bool(true)
array(3) {
  ["foo"]=>
  int(1234567890)
  ["bar"]=>
  string(5) "Blah!"
  ["guff"]=>
  float(123.456)
}

Warning: session_destroy(): Trying to destroy uninitialized session in /usr/local/src/php5.2-200810312330/ext/session/tests/session_decode_variation3.php on line 22
bool(false)
Done


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-11-01 21:42 UTC] jani@php.net
Apparently I had outdated checkout. Kalle, your commit broke this. 
You should ALWAYS run tests _before_ committing! FIX IT.
 
 [2008-11-01 21:44 UTC] jani@php.net
Kalle: The fix for bug #45406 you backported broke the tests and also 
BC.
 [2009-04-26 01:21 UTC] jani@php.net
Fixed now for real. :)
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri May 17 18:01:33 2024 UTC