php7.4運(yùn)行Yii框架2.0.14以下的版本會(huì)出現(xiàn)報(bào)錯(cuò)
問(wèn)題的原因是php7.4規(guī)定了object關(guān)鍵字是不能作為類(lèi)名的,但是yii2.0.14一下版本的底層類(lèi)的命名是object
查找可以發(fā)現(xiàn)/vendor/yiisoft/yii2/base/Object.php基類(lèi)
我們要兼容php7.4就要把這個(gè)Object類(lèi)全部替換成其他名字
查看yii版本2.0.14以上的框架可以發(fā)現(xiàn)這里的Object被升級(jí)為了BaseObject,所以我們也使用BaseObject來(lái)替換該名稱(chēng)
下面如果干凈的替換Object類(lèi)名的步驟
- 先替換Object文件名和類(lèi)名為BaseObject
- 在框架中搜索\yii\base\Object,全部替換為yii\base\BaseObject
- 在框架中搜索extends Object,全部替換為extends BaseObject
- 找到vendor/yiisoft/yii2/classes.php文件, 把'yii\base\Object' => YII2_PATH . '/base/Object.php',替換為'yii\base\BaseObject' => YII2_PATH . '/base/BaseObject.php',
替換完成,使用php7.4訪問(wèn)項(xiàng)目,成功訪問(wèn).