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即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南