- Update test expectations for php 8.2.0-dev. Add
#[AllowDynamicProperties]
Attribute to some tests to avoid notices. - In php 8.1+, make igbinary_unserialize check to see if an equivalent interned string already exists when unserializing object property names, array keys, and class names
and use that instead of creating a brand new string.
(This deliberately doesn't create a new interned string if one doesn't already exist.)
(Before this change, igbinary would deduplicate strings when serializing, but would not check if strings were interned by PHP itself when unserializing) - Avoid debug build assertion failure for
HT_ASSERT_RC1
the same way as PHP's unserialize - this is a case where ostensibly there are no other references to the array being unserialized.