3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class MySplFileObject extends SplFileObject{ public function __construct() {} public function serialize() {return '';} public function unserialize($data) {} } $fileObject = new MySplFileObject; //echo serialize($fileObject); $fileObject = unserialize('C:15:"MySplFileObject":0:{}'); print_r($fileObject); echo $fileObject;
Output for 7.0.0 - 7.3.1
Fatal error: Uncaught Exception: Unserialization of 'MySplFileObject' is not allowed in /in/UCesN:10 Stack trace: #0 /in/UCesN(10): unserialize('C:15:"MySplFile...') #1 {main} thrown in /in/UCesN on line 10
Process exited with code 255.
Output for hhvm-3.22.0
Warning: Class MySplFileObject has no unserializer in /in/UCesN on line -1 MySplFileObject Object ( [delimiter:SplFileObject:private] => , [enclosure:SplFileObject:private] => " [escape:SplFileObject:private] => \ [flags:SplFileObject:private] => [filename:SplFileObject:private] => [maxLineLen:SplFileObject:private] => 0 [currentLineNum:SplFileObject:private] => 0 [rsrc:SplFileObject:private] => [currentLine:SplFileObject:private] => [fileName:SplFileInfo:private] => [fileClass:SplFileInfo:private] => SplFileObject [infoClass:SplFileInfo:private] => SplFileInfo ) Fatal error: Uncaught Error: Method MySplFileObject::__toString() must return a string value in /in/UCesN:-1 Stack trace: #0 {main}
Process exited with code 255.
Output for hhvm-3.11.1 - 3.21.3
Warning: Class MySplFileObject has no unserializer in /in/UCesN on line 10 MySplFileObject Object ( [delimiter:SplFileObject:private] => , [enclosure:SplFileObject:private] => " [escape:SplFileObject:private] => \ [flags:SplFileObject:private] => [filename:SplFileObject:private] => [maxLineLen:SplFileObject:private] => 0 [currentLineNum:SplFileObject:private] => 0 [rsrc:SplFileObject:private] => [currentLine:SplFileObject:private] => [fileName:SplFileInfo:private] => [fileClass:SplFileInfo:private] => SplFileObject [infoClass:SplFileInfo:private] => SplFileInfo ) Fatal error: Uncaught Error: Method MySplFileObject::__toString() must return a string value in /in/UCesN:12 Stack trace: #0 {main}
Process exited with code 255.
Output for hhvm-3.10.1
Warning: Class MySplFileObject has no unserializer in /in/UCesN on line 10 MySplFileObject Object ( [delimiter:SplFileObject:private] => , [enclosure:SplFileObject:private] => " [escape:SplFileObject:private] => \ [flags:SplFileObject:private] => [filename:SplFileObject:private] => [maxLineLen:SplFileObject:private] => 0 [currentLineNum:SplFileObject:private] => 0 [rsrc:SplFileObject:private] => [currentLine:SplFileObject:private] => [fileName:SplFileInfo:private] => [fileClass:SplFileInfo:private] => SplFileObject [infoClass:SplFileInfo:private] => SplFileInfo ) Catchable fatal error: Method MySplFileObject::__toString() must return a string value in /in/UCesN on line 12
Process exited with code 255.
Output for 5.4.14 - 5.6.38
Fatal error: Uncaught exception 'Exception' with message 'Unserialization of 'MySplFileObject' is not allowed' in /in/UCesN:10 Stack trace: #0 /in/UCesN(10): unserialize('C:15:"MySplFile...') #1 {main} thrown in /in/UCesN on line 10
Process exited with code 255.
Output for 5.3.3 - 5.4.13
Notice: unserialize(): Error at offset 26 of 27 bytes in /in/UCesN on line 10 Fatal error: Uncaught exception 'Exception' with message 'Unserialization of 'MySplFileObject' is not allowed' in /in/UCesN:10 Stack trace: #0 /in/UCesN(10): unserialize('C:15:"MySplFile...') #1 {main} thrown in /in/UCesN on line 10
Process exited with code 255.
Output for 5.3.0 - 5.3.2
Notice: unserialize(): Error at offset 26 of 27 bytes in /in/UCesN on line 0 Fatal error: Uncaught exception 'Exception' with message 'Unserialization of 'MySplFileObject' is not allowed' in /in/UCesN:10 Stack trace: #0 /in/UCesN(10): unserialize('C:15:"MySplFile...') #1 {main} thrown in /in/UCesN on line 10
Process exited with code 255.
Output for 5.1.0 - 5.2.17
Warning: Class MySplFileObject has no unserializer in /in/UCesN on line 10 Notice: unserialize(): Error at offset 21 of 27 bytes in /in/UCesN on line 10
Output for 5.0.0 - 5.0.5
Fatal error: Class 'SplFileObject' not found in /in/UCesN on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/UCesN on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/UCesN on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/UCesN on line 3
Process exited with code 255.