023.phpt 829 B

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