最近把macbook 升级到了最新的macos catalina,结果yii2项目的控制台命令不能用了,提示
The object name was previously soft-reserved in PHP ...
查了下,发现是 Object是php7.2中的保留类名,不可以使用Object作为类的名称。
这块最多的网友都是说,1.可以composer update更新yii2的版本,最新的yii2 版本已经是做了兼容处理;2. 把系统的php降到7.0上
这里再介绍一种方法,因为我是用的mamp 集成环境,所以把系统的php环境变量设置到集成环境的php上,在不处理降级系统php版本的情况下,做到兼容yii2的老版本
Mac下修改默认PHP环境变量方法
vim ~/.bash_profile
输入你的目标PHP新路径
exportPATH="/Applications/MAMP/bin/php/php7.0.0/bin:$PATH"
然后退出并保存,运行一下 .bash_profile 文件
source.bash_profile
查看是否生效
which php
或执行php -version看下当前php的版本,就可以了,然后再去执行 yii2的控制台命令,功能就正常了