如何让Yii框架2.0.12版本支持php7.4

php7.4运行Yii框架2.0.14以下的版本会出现报错

PHP7.4运行Yii2框架报错信息.png

问题的原因是php7.4规定了object关键字是不能作为类名的,但是yii2.0.14一下版本的底层类的命名是object

查找可以发现/vendor/yiisoft/yii2/base/Object.php基类

/vendor/yiisoft/yii2/base/Object.php.png

我们要兼容php7.4就要把这个Object类全部替换成其他名字

查看yii版本2.0.14以上的框架可以发现这里的Object被升级为了BaseObject,所以我们也使用BaseObject来替换该名称

下面如果干净的替换Object类名的步骤

  1. 先替换Object文件名和类名为BaseObject
  2. 在框架中搜索\yii\base\Object,全部替换为yii\base\BaseObject
  3. 在框架中搜索extends Object,全部替换为extends BaseObject
  4. 找到vendor/yiisoft/yii2/classes.php文件, 把'yii\base\Object' => YII2_PATH . '/base/Object.php',替换为'yii\base\BaseObject' => YII2_PATH . '/base/BaseObject.php',

替换完成,使用php7.4访问项目,成功访问.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容