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 协议》,转载必须注明作者和本文链接
努力是不会骗人的!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3
leo

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

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

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

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

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

3年前 评论

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