<?php
class A implements Serializable {
public function unserialize($p) {
echo 'uns';
}
public function serialize() {
return '';
}
}
class B {
public function __wakeup() {
echo 'wak';throw new Exception;
}
public function __destruct() {
echo 'des';
}
}
$g[]=new B;
$g[]=new A;
echo serialize($g);
$s='a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}';
var_dump(unserialize($s));
Deprecated: A implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/77DE1 on line 2
a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}unswak
Fatal error: Uncaught Exception in /in/77DE1:12
Stack trace:
#0 [internal function]: B->__wakeup()
#1 /in/77DE1(22): unserialize('a:2:{i:0;O:1:"B...')
#2 {main}
thrown in /in/77DE1 on line 12
des Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Deprecated: A implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/77DE1 on line 2
a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}unswak
Fatal error: Uncaught Exception in /in/77DE1:12
Stack trace:
#0 [internal function]: B->__wakeup()
#1 /in/77DE1(22): unserialize('a:2:{i:0;O:1:"B...')
#2 {main}
thrown in /in/77DE1 on line 12
des Process exited with code 255.
Output for 8.0.0 - 8.0.30
a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}unswak
Fatal error: Uncaught Exception in /in/77DE1:12
Stack trace:
#0 [internal function]: B->__wakeup()
#1 /in/77DE1(22): unserialize('a:2:{i:0;O:1:"B...')
#2 {main}
thrown in /in/77DE1 on line 12
des Process exited with code 255.
a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}unswak
Fatal error: Uncaught Exception in /in/77DE1:12
Stack trace:
#0 [internal function]: B->__wakeup()
#1 /in/77DE1(22): unserialize('a:2:{i:0;O:1:"B...')
#2 {main}
thrown in /in/77DE1 on line 12
Process exited with code 255.
Output for 7.0.10 - 7.0.14, 7.1.0
a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}wak
Fatal error: Uncaught Exception in /in/77DE1:12
Stack trace:
#0 [internal function]: B->__wakeup()
#1 /in/77DE1(22): unserialize('a:2:{i:0;O:1:"B...')
#2 {main}
thrown in /in/77DE1 on line 12
Process exited with code 255.
Output for 7.0.0 - 7.0.9
a:2:{i:0;O:1:"B":0:{}i:1;C:1:"A":0:{}}wakdes
Fatal error: Uncaught Exception in /in/77DE1:12
Stack trace:
#0 [internal function]: B->__wakeup()
#1 /in/77DE1(22): unserialize('a:2:{i:0;O:1:"B...')
#2 {main}
thrown in /in/77DE1 on line 12
Process exited with code 255.