Commit 5226e2f49f5 for php.net
commit 5226e2f49f549a1b3313e453af44a2f68e952e92
Author: Gina Peter Banyard <girgias@php.net>
Date: Wed Jul 29 10:18:08 2026 +0100
std: add test for unserialize_callback_func INI setting
diff --git a/ext/standard/tests/serialize/unserialize_callback_func_INI_modifications.phpt b/ext/standard/tests/serialize/unserialize_callback_func_INI_modifications.phpt
new file mode 100644
index 00000000000..c337903ce29
--- /dev/null
+++ b/ext/standard/tests/serialize/unserialize_callback_func_INI_modifications.phpt
@@ -0,0 +1,29 @@
+--TEST--
+unserialize_callback_func INI setting set multiple times during runtime
+--FILE--
+<?php
+
+function unserialize_cb_original($name)
+{
+ ini_set('unserialize_callback_func', 'unserialize_cb_changed');
+}
+
+function unserialize_cb_changed($name)
+{
+}
+
+ini_set('unserialize_callback_func', 'unserialize_cb_original');
+
+unserialize('O:3:"FOO":0:{}');
+
+var_dump(ini_get('unserialize_callback_func'));
+
+ini_restore('unserialize_callback_func');
+
+var_dump(ini_get('unserialize_callback_func'));
+
+?>
+--EXPECTF--
+Warning: unserialize(): Function unserialize_cb_original() hasn't defined the class it was called for in %s on line %d
+string(22) "unserialize_cb_changed"
+string(0) ""