php - 启用 (opcache.so) 扩展后,PHP 的 get_class_vars() 输出无效
问题描述
我有这个简单的代码来演示更新静态值:
<?php
class myClass
{
// empty static var
public static $prop1;
}
myClass::$prop1 = array("Hey, I'm setting your value now");
var_dump(myClass::$prop1);
$allVars = get_class_vars( myClass::class ) ;
var_dump ( $allVars );
所以我希望这两个转储都能显示出新的价值。虽然在 (opcache) 未启用时它可以完美运行。但是当启用(opcache)时它会给出一个奇怪的输出..
是否有任何配置对此行为负责?
PHP 7.4.14
1-PHP 7.4.14 没有 opcache.so (OK)
array (size=1) 0 => string '嘿,我现在设置你的值' (length=31)
数组(大小=1)'prop1'
array (size=1) 0 => string 'Hey, I'm setting your value now' (length=31)
2-PHP 7.4.14 启用了 opcache.so(不好,奇怪)
array(1) { [0]=> string(31) "嘿,我现在设置你的值" }
array(1) { ["prop1"]=> NULL }
你怎么看 ?
解决方案
推荐阅读
- node.js - bookshelf.js – 如何获取空查询或根本没有查询的所有记录?
- c - 无法使用 sqlite3_bind_text 插入数据库
- c++ - 如何正确计算浮点对总和
- c++ - 带有 const 成员的对向量
- android - 如何解决短信权限的谷歌播放策略?
- c# - c# 使用两个 MysqlReader
- php - 如何从内容部分创建数组
- gcc - Mingw gcc,“-shared -static”一起传递
- vba - VBA:是否可以对别名函数名称进行编码/解码(别名“CreateFileW”-> Alias Enc(182893))
- php - 函数从数据库中删除数据