£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --TEST-- Test PHP 8.2 readonly classes --SKIPIF-- --FILE-- a = 8; return $c; } } $c = new C(); $ser = igbinary_serialize($c); echo urlencode($ser), "\n"; var_dump(igbinary_unserialize($ser)); $c = C::create(); $ser = igbinary_serialize($c); echo urlencode($ser), "\n"; var_dump(igbinary_unserialize($ser)); $invalid1 = str_replace('a', 'b', $ser); try { var_dump(igbinary_unserialize($invalid1)); } catch (Error $e) { printf("%s: %s\n", $e::class, $e->getMessage()); } --EXPECT-- %00%00%00%02%17%01C%14%01%00 object(C)#2 (0) { ["a"]=> uninitialized(int) } %00%00%00%02%17%01C%14%01%11%01a%06%08 object(C)#1 (1) { ["a"]=> int(8) } Error: Cannot create dynamic property C::$b in igbinary_unserialize