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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: hostmaster at uuism dot net
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2025 The PHP Group
All rights reserved.
Last updated: Mon Jul 14 04:01:33 2025 UTC