最推荐的方式是在 composer.json 中通过 config.platform 指定模拟 PHP 版本,例如 "php": "8.1.0",使 Composer 安装依赖时以此为准;也可临时通过 COMPOSER_CONFIG_PLATFORM_PHP=8.2 设置环境变量覆盖;若已明确环境可关闭 platform-check 避免警告。
在使用 Composer 时,它默认会根据当前运行的 PHP 环境来检查依赖。但有时你希望强制 Composer 使用某个特定的 PHP 版本进行依赖解析(比如 CI/CD 或多环境部署),即使当前系统运行的是另一个版本。
使用 platform 配置强制指定 PHP 版本
最推荐的方式是在
composer.json
中通过
指定模拟的 PHP 版本。这样 Composer 在分析依赖时会认为项目运行在该 PHP 版本下。
例如,强制使用 PHP 8.1:
"config": {
"platform": {
"php": "8.1.0"
}
}
执行
或
时,Composer 将以此版本为准检查包的兼容性,而不是实际运行的 PHP 版本。
临时通过命令行覆盖平台 PHP 版本
如果你不想修改
composer.json
,也可以在运行命令时通过
环境变量
临时设置:
立即学习
“
PHP免费学习笔记(深入)
”;
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
COMPOSER_CONFIG_PLATFORM_PHP=8.2 composer update
这会让本次命令执行中,Composer 认为 PHP 版本是 8.2,适用于脚本或 CI 场景。
注意 platform 和 platform-check 的区别
默认情况下 Composer 会启用
,它会在运行时检查当前 PHP 环境是否符合要求。如果你明确控制了环境,可关闭此项避免警告:
"config": {
"platform-check": false
}
关闭后 Composer 不再提醒实际 PHP 版本与 platform 设置不符。
基本上就这些。通过
设置,你可以准确控制依赖解析所基于的 PHP 版本,确保安装的包与目标环境一致。
config.platformcomposer installupdateconfig.platform-checkplatform