3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class Foo { function __wakeup() { print "[-] Wakeup method called!\n"; } function __destruct() { print "[-] Destruct method called!\n"; var_dump($this); } } $normal = 'O:3:"Foo":1:{s:1:"x";s:1:"y";}'; $broken = 'O:3:"Foo":2:{s:1:"x";s:1:"y";}'; unserialize($normal); unserialize($broken);
based on bhluW
Output for 5.6.26 - 5.6.30, 7.0.10 - 7.2.0
[-] Wakeup method called! [-] Destruct method called! object(Foo)#1 (1) { ["x"]=> string(1) "y" } Notice: unserialize(): Unexpected end of serialized data in /in/QqeAD on line 21 Notice: unserialize(): Error at offset 29 of 30 bytes in /in/QqeAD on line 21
Output for 5.0.0 - 5.6.24, 7.0.0 - 7.0.9
[-] Wakeup method called! [-] Destruct method called! object(Foo)#1 (1) { ["x"]=> string(1) "y" } Notice: unserialize(): Unexpected end of serialized data in /in/QqeAD on line 21 [-] Destruct method called! object(Foo)#1 (1) { ["x"]=> string(1) "y" } Notice: unserialize(): Error at offset 29 of 30 bytes in /in/QqeAD on line 21
Output for hhvm-3.10.1 - 3.17.3
[-] Wakeup method called! [-] Destruct method called! object(Foo)#1 (1) { ["x"]=> string(1) "y" } [-] Destruct method called! object(Foo)#1 (1) { ["x"]=> string(1) "y" } Notice: Unable to unserialize: [O:3:"Foo":2:{s:1:"x";s:1:"y";}]. Unexpected end of buffer during unserialization. in /in/QqeAD on line 21
Output for 5.6.25
[-] Wakeup method called! [-] Destruct method called! object(Foo)#1 (1) { ["x"]=> string(1) "y" } Notice: unserialize(): Unexpected end of serialized data in /in/QqeAD on line 21 Notice: unserialize(): Error at offset 29 of 30 bytes in /in/QqeAD on line 21 [-] Destruct method called! object(Foo)#1 (0) { }
Output for 4.3.10 - 4.4.9
[-] Wakeup method called! Notice: unserialize(): Unexpected end of serialized data in /in/QqeAD on line 21 Notice: unserialize(): Error at offset 29 of 30 bytes in /in/QqeAD on line 21
Output for 4.3.2 - 4.3.9
[-] Wakeup method called! Notice: Unexpected end of serialized data in /in/QqeAD on line 21 Notice: unserialize(): Error at offset 29 of 30 bytes in /in/QqeAD on line 21
Output for 4.3.0 - 4.3.1
[-] Wakeup method called! Notice: Unexpected end of serialized data in /in/QqeAD on line 21 Notice: unserialize() [http://www.php.net/function.unserialize]: Error at offset 29 of 30 bytes in /in/QqeAD on line 21