在 composer.json 的 require 字段中声明 PHP 版本,如 “^8.1″ 表示最低 8.1.0 且兼容同主版本,”>=8.1.0″ 精确限定最低版本,”>=7.4.0” 支持多版本范围。

在 composer.json 文件中通过 "require": {"php": "版本约束"} 来定义项目的最低 PHP 版本要求。
在 require 中声明 PHP 版本
Composer 将 PHP 视为一个“包”,所以和其他依赖一样,把它写进 require 字段即可:
- 最低版本(推荐):
"php": "^8.1"表示至少 PHP 8.1.0,兼容 8.1.x、8.2.x 等(但不跨主版本) - 精确最低:
"php": ">=8.1.0"明确要求不低于 8.1.0 - 多版本范围:
"php": ">=7.4.0 限定在 7.4 到 8.2 之间(含 7.4.0,不含 8.3.0)
Composer 安装时会自动校验
运行 composer install 或 composer update 时,Composer 会检查当前 PHP 版本是否满足 require.php 的约束:
- 不满足则报错,例如:
Your requirements could not be resolved to an installable set of packages.并提示 PHP 版本不兼容 - 该检查发生在依赖解析阶段,早于任何包下载或安装操作
-
composer show --platform可查看当前环境识别到的 PHP 版本和扩展
配合 platform 配置做本地模拟(可选)
若开发环境 PHP 版本高于线上,可用 "config.platform.php" 强制 Composer 按指定版本解析依赖(不影响实际运行,只影响依赖选择):
立即学习“PHP免费学习笔记(深入)”;
- 例如线上是 PHP 8.1,本地是 8.3,可在
composer.json加入: "config": {"platform": {"php": "8.1.0"}}- 这样
composer update就会按 8.1 环境选兼容的包版本,避免引入仅支持 8.2+ 的依赖
基本上就这些。关键是把 PHP 当作一个必须声明的依赖来对待,而不是靠文档或口头约定。