PHP7.2中Yii2核心类Object报错

用docker搭建php服务器时,发现yii2核心类Object报错了。此时用的php版本是当前最新版的7.2

Fatal error: Cannot use 'Object' as class name as it is reserved in /var/www/yii/vendor/yiisoft/yii2/base/Object.php on line 77

出错原因

Object是php7.2中的保留类名,不可以再定义名称为Object的类了。

The object name was previously soft-reserved in PHP 7.0. This is now hard-reserved, prohibiting it from being used as a class, trait, or interface name.

解决方法

  • php版本降级(缓兵之计)
    经过测试,php7.2之前的版本都没有问题。这也与php官方文档的说明一致:从7.0版本开始软性保留,从7.2版本开始硬性保留。
  • 更改Yii2核心类Object为其他名称(权宜之计)
  • 等待Yii修复bug(长久之计)
    今天发现新版本v2.0.15.1中已经修复这个bug了。

使用最新版本的yii即可

参考文章

posted @   幸福的路痴  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示