[php-src] Issue #10907: Unable to serialize processed SplFixedArrays in PHP 8.2.4

From: Date: Wed, 22 Mar 2023 17:20:21 +0000
Subject: [php-src] Issue #10907: Unable to serialize processed SplFixedArrays in PHP 8.2.4
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-243970@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/10907 Author: codex-m ### Description The following code: ```php <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $array = new SplFixedArray(5); $array[1] = 2; $array[2] = "test value"; $copy = $array; $serialized_one = serialize($array); $object_vars = get_object_vars($array); foreach ($object_vars as $property_name => $property_value) { $copy[$property_name] = $property_value; } $serialized_two = ''; if ($copy === $array) { $serialized_two = serialize($copy); } if ($serialized_one === $serialized_two) { echo "PHP version " . phpversion() . " is ok"; } ``` Resulted in this output: ``` 500 internal server error or no output ``` But I expected this output instead: ``` PHP version 8.2.4 is ok ``` Notes: - The above test code works in all commonly active versions: PHP 8.1, PHP 8.0 and PHP 7.4. However the above code does not work only in PHP 8.2.4. - Originally reproduced with Ubuntu 20.04 + PHP 8.2.4. - This is also reproducible in PHP Windows environment using PHP 8.2.4 . I've check the upgrade notes on PHP 8.2.4. There is nothing that mention between serialize() and SplFixedArray. I'm still learning more about PHP 8.2, so please help me confirm if this is a bug or simply a usage issue. Thank you! ### PHP Version PHP 8.2.4 ### Operating System Ubuntu 20.04 / Windows 10

« previous php.bugs (#243970) next »