📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-02 17:46:37
📂
/ (Root)
/
opt
/
alt
/
tests
/
alt-php84-pecl-mongodb_1.20.0-2.el8
/
tests
📍 /opt/alt/tests/alt-php84-pecl-mongodb_1.20.0-2.el8/tests
🔄 Refresh
✏️
Editing: bug1839-005.phpt
Read Only
--TEST-- PHPC-1839: Referenced, out-of-scope, non-interned string in typeMap (PHP >= 8.1) --SKIPIF-- <?php require __DIR__ . "/../utils/basic-skipif.inc"; ?> <?php skip_if_php_version('<', '8.1'); ?> --FILE-- <?php require_once __DIR__ . "/../utils/basic.inc"; function createTypemap() { // Assemble the string so as to not have an interned string $rootValue = chr(ord('a')) . 'rray'; $documentValue = chr(ord('a')) . 'rray'; // Use a reference to this non-interned string in the type map $typemap = ['root' => &$rootValue, 'document' => &$documentValue]; return $typemap; } $typemap = createTypemap(); $bson = MongoDB\BSON\Document::fromPHP((object) []); echo "Before:\n"; debug_zval_dump($typemap); $bson->toPHP($typemap); echo "After:\n"; debug_zval_dump($typemap); ?> ===DONE=== <?php exit(0); ?> --EXPECT-- Before: array(2) refcount(2){ ["root"]=> reference refcount(1) { string(5) "array" refcount(1) } ["document"]=> reference refcount(1) { string(5) "array" refcount(1) } } After: array(2) refcount(2){ ["root"]=> reference refcount(1) { string(5) "array" refcount(1) } ["document"]=> reference refcount(1) { string(5) "array" refcount(1) } } ===DONE===
💾 Save Changes
❌ Cancel