Yii2 在php 7.2环境下运行,提示 Cannot use ‘Object’ as class name
出错原因是:
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.
执行
composer update
更新 Yii2的版本.
从Object.php文件的注释(在本地中的路径是vendor/yiisoft/yii2/base/Object.php
),从 Yii2 2.0.13版本开始,已经弃用了 Object
类,使用BaseObject
进行代替
如果安装的使用的类库继承了yii\base\Object
,可以修改为yii\base\BaseObject
如安装了mdmsoft/yii2-admin
,需要将vendor/mdmsoft/yii2-admin/components/Configs.php
中,将\yii\base\Object
修改为\yii\base\BaseObject