3v4l.org

run code in 150+ 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('O:15:"MySplFileObject":0:{}'); var_dump($fileObject); echo $fileObject;
Output for 7.0.0 - 7.1.0
Fatal error: Uncaught Exception: Serialization of 'MySplFileObject' is not allowed in /in/J8n6j:10 Stack trace: #0 /in/J8n6j(10): serialize(Object(MySplFileObject)) #1 {main} thrown in /in/J8n6j on line 10
Process exited with code 255.
Output for hhvm-3.10.0 - 3.12.0
O:15:"MySplFileObject":12:{s:24:"SplFileObjectdelimiter";s:1:",";s:24:"SplFileObjectenclosure";s:1:""";s:21:"SplFileObjectescape";s:1:"\";s:20:"SplFileObjectflags";N;s:23:"SplFileObjectfilename";N;s:25:"SplFileObjectmaxLineLen";i:0;s:29:"SplFileObjectcurrentLineNum";i:0;s:19:"SplFileObjectrsrc";N;s:26:"SplFileObjectcurrentLine";b:0;s:21:"SplFileInfofileName";N;s:22:"SplFileInfofileClass";s:13:"SplFileObject";s:22:"SplFileInfoinfoClass";s:11:"SplFileInfo";}object(MySplFileObject)#2 (12) { ["delimiter":"SplFileObject":private]=> string(1) "," ["enclosure":"SplFileObject":private]=> string(1) """ ["escape":"SplFileObject":private]=> string(1) "\" ["flags":"SplFileObject":private]=> NULL ["filename":"SplFileObject":private]=> NULL ["maxLineLen":"SplFileObject":private]=> int(0) ["currentLineNum":"SplFileObject":private]=> int(0) ["rsrc":"SplFileObject":private]=> NULL ["currentLine":"SplFileObject":private]=> bool(false) ["fileName":"SplFileInfo":private]=> NULL ["fileClass":"SplFileInfo":private]=> string(13) "SplFileObject" ["infoClass":"SplFileInfo":private]=> string(11) "SplFileInfo" } Catchable fatal error: Method MySplFileObject::__toString() must return a string value in /in/J8n6j on line 13
Process exited with code 255.
Output for 5.3.0 - 5.6.28
Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'MySplFileObject' is not allowed' in /in/J8n6j:10 Stack trace: #0 /in/J8n6j(10): serialize(Object(MySplFileObject)) #1 {main} thrown in /in/J8n6j on line 10
Process exited with code 255.
Output for 5.1.0 - 5.2.17
O:15:"MySplFileObject":0:{}object(MySplFileObject)#2 (0) { }
Process exited with code 139.
Output for 5.0.0 - 5.0.5
Fatal error: Class 'SplFileObject' not found in /in/J8n6j 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/J8n6j 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/J8n6j 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/J8n6j on line 3
Process exited with code 255.