023.phpt 862 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --TEST--
  2. session object deserialization
  3. --EXTENSIONS--
  4. session
  5. --SKIPIF--
  6. <?php include('skipif.inc'); ?>
  7. --INI--
  8. session.use_cookies=0
  9. session.use_strict_mode=0
  10. session.cache_limiter=
  11. session.serialize_handler=php
  12. session.save_handler=files
  13. --FILE--
  14. <?php
  15. error_reporting(E_ALL);
  16. class foo {
  17. public $bar = "ok";
  18. function method() { $this->yes++; }
  19. }
  20. session_id("test023");
  21. session_start();
  22. session_decode('baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}');
  23. $baz = $_SESSION['baz'];
  24. $arr = $_SESSION['arr'];
  25. $baz->method();
  26. $arr[3]->method();
  27. var_dump($baz);
  28. var_dump($arr);
  29. session_destroy();
  30. ?>
  31. --EXPECT--
  32. object(foo)#1 (2) {
  33. ["bar"]=>
  34. string(2) "ok"
  35. ["yes"]=>
  36. int(2)
  37. }
  38. array(1) {
  39. [3]=>
  40. object(foo)#2 (2) {
  41. ["bar"]=>
  42. string(2) "ok"
  43. ["yes"]=>
  44. int(2)
  45. }
  46. }