我正在按照给定的代码转储在 PHP 7.3.5 版上运行的 zval 容器(opcache 已激活且 PHP 已启用线程安全):
<?php
$a = "new string";
$b = $a;
xdebug_debug_zval( 'a' );
根据 php.net文档示例 #3 增加 zval 的引用计数,它输出refcount=2:
a: (refcount=2, is_ref=0)='new string'
在我的设置(php7.3.5)上,它输出 refcount =1:
a:
(refcount=1, is_ref=0)string 'new string' (length=10)
我实际上使用 PHP5.6 达到了与 php.net 文档相同的输出。PHP7 内部发生了什么变化,为什么 refcount 保持 1 ?