PHP 8.2 的 phpinfo() 新增 Random 扩展区块、readonly class support 字段、Standalone type support 和 DNF type parsing 条目、mysqli_execute_query 与 curl_upkeep 函数可见性,以及 zend.enable_dynamically_declared_properties 配置项。

如果您在 PHP 8.2 环境中调用 phpinfo() 函数查看配置信息,会发现输出内容中新增了若干与新特性和扩展直接关联的字段与区块。以下是识别这些新增项的具体方法:
一、新增 Random 扩展信息区块
PHP 8.2 引入了独立的 Random 扩展,该扩展不再依附于旧有随机函数(如 rand() 或 mt_rand()),而是以全新模块形式编译进核心,因此会在 phpinfo() 输出中显式呈现为独立章节。
1、在浏览器中访问执行 phpinfo() 的 PHP 脚本页面。
2、使用 Ctrl+F 搜索关键词 random。
立即学习“PHP免费学习笔记(深入)”;
3、确认存在标题为 random 的表格区块,其中包含 Random support 字段,其值为 enabled。
4、该区块还会列出默认引擎名称(如 Xoshiro256StarStar)及是否启用 JIT-compatible engine selection。
二、只读类(Readonly Classes)相关提示项
PHP 8.2 的只读类机制本身不改变运行时配置,但其语法支持依赖于引擎级类型系统增强,因此会在 phpinfo() 的核心配置区新增一行明确标识。
1、滚动至 Core 区块下方。
2、查找字段名 readonly class support。
3、该字段值为 enabled,表示当前 PHP 编译版本已激活只读类解析能力。
4、若该字段缺失或值为 disabled,说明未启用 PHP 8.2 或构建时禁用了相关特性。
三、DNF 类型与独立类型支持标识
析取范式(Disjunctive Normal Form, DNF)类型及 true、false、null 作为独立类型的能力,属于 Zend 引擎的类型系统升级,其启用状态通过 phpinfo() 中的编译特性字段反映。
1、定位到 Zend Engine 或 PHP Core 表格区域。
2、查找名为 Standalone type support 的条目。
3、确认其值为 true,表明 true、false、null 可独立用于类型声明。
4、同时检查是否存在 DNF type parsing 字段,值应为 enabled,代表支持 (A&B)|null 类型语法。
四、mysqli_execute_query 与 curl_upkeep 函数可见性
PHP 8.2 新增的 mysqli_execute_query 和 curl_upkeep 是内置函数,其存在性可通过 phpinfo() 的函数列表或对应扩展区块验证。
1、在页面中搜索 mysqli,进入 mysqli 扩展区块。
2、查看 Registered PHP Streams 或 mysqlnd 子节,确认函数列表中含 mysqli_execute_query。
3、搜索 cURL 区块,检查 cURL Information 表格下方是否有 curl_upkeep available 字段。
4、该字段值为 Yes 即表示函数已注册并可用。
五、弃用动态属性警告开关状态
PHP 8.2 默认对未声明的动态属性赋值发出 E_DEPRECATED 级别警告,该行为受 INI 设置控制,并在 phpinfo() 中显式标出。
1、在 Core 区块中查找 zend.enable_dynamically_declared_properties 配置项。
2、该配置默认值为 Off(即 false),表示动态属性已被禁用。
3、若值为 On,则需检查是否手动设置了 zend.enable_dynamically_declared_properties=1。
4、同时确认 error_reporting 值包含 E_DEPRECATED,否则警告不会显示。











