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

在 composer.json 中,PHP 版本兼容性通过 config.platform.php 和 require.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免费学习笔记(深入)”;
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~