如何在composer.json中定义PHP最低和最高兼容版本?

admin 百科 15
require.php 是声明项目真正依赖的 PHP 版本范围的官方推荐方式,如 "^8.1" 表示 ≥8.1.0 且

如何在composer.json中定义PHP最低和最高兼容版本?-第1张图片-佛山资讯网

composer.json 中,PHP 版本兼容性通过 config.platform.phprequire.php 两个字段控制,但作用不同:前者影响本地环境模拟,后者才是声明项目真正依赖的 PHP 版本范围。

使用 require.php 声明最低和最高 PHP 版本

require.php 是 Composer 官方推荐方式,用于明确项目运行所需的 PHP 版本约束。Composer 会据此检查当前环境是否满足要求,并在安装/更新时拒绝不兼容的版本。

  • 最低版本写法:"^8.1" 表示 ≥ 8.1.0 且
  • 精确最低 + 最高限制:">=8.1.0, 表示支持 PHP 8.1 到 8.3 的所有小版本
  • 排除特定次版本(如跳过有严重 bug 的 8.2.5):">=8.1.0, !=8.2.5,

避免误用 config.platform.php 来“降级”PHP 兼容性

config.platform.php 不是声明兼容范围,而是告诉 Composer:“即使我本地装的是 PHP 8.3,也请按 PHP 8.1 的扩展和函数可用性来解析依赖”。它只影响依赖解析过程,不会改变项目实际能运行的 PHP 版本

常见误用场景:为让 CI 通过而强行设 "config": {"platform": {"php": "7.4"}},结果代码用了 match 表达式(PHP 8.0+),运行时报错。这属于掩盖问题,不是真实兼容。

立即学习“PHP免费学习笔记(深入)”;

标签: php js json composer

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~