Laravel 中使用 PHP7.2+symfony 版本问题(严重)

进行在php7.2 下的项目在composer升级各依赖包时,现在要注意在项目的composer.json中加上

"symfony/debug": "v4.4.7",
"symfony/error-handler": "v4.4.7",
"symfony/finder": "v4.4.7",
"symfony/process": "v4.4.7",

特别是debug这个插件包,如果没有做这个限定,会在composer update时将所有symfony的插件包自动升级到 v4.4.10,这个版本中有部分代码使用了php8的新特性。

比如下方代码是debug中的:
laravel中使用php7.2+symfony版本问题(严重)
可以清楚的看到这里调用了php8中的新方法。
laravel中使用php7.2+symfony版本问题(严重)

本作品采用《CC 协议》,转载必须注明作者和本文链接
努力是不会骗人的!
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

composer.json里面限定了php版本吗?

3年前 评论
storefee (楼主) 3年前
leo

不需要担心,symfony/polyfill-php80 已经做了兼容 github.com/symfony/polyfill-php80/...

3年前 评论
storefee (楼主) 3年前

@leo 事实证明你说的是对的。已经查找到根本原因了,因为咋们服务器上面做了opcache优化,部署新代码时将这个关闭再更新就正常了。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!