使用config.platform声明扩展可忽略缺失,如设ext-redis版本号使check-platform-reqs认为其存在,推荐用于CI/开发环境。

Composer 的 check-platform-reqs 命令用于检查当前 PHP 环境是否满足项目 composer.json 中声明的平台依赖(如 PHP 版本、扩展等)。但有时你可能希望忽略某些 PHP 扩展的检查,比如开发环境中某些扩展非必需,或 CI/CD 环境中临时禁用。
然而,Composer 本身不支持直接在 check-platform-reqs 中跳过特定扩展。但可以通过以下方式间接实现“忽略”效果。
config.platform 显式声明你不关心的扩展为“已存在”,Composer 就不会报错它们缺失。
在项目的 composer.json 中添加:
"config": {
"platform": {
"ext-redis": "5.3.7",
"ext-swoole": "4.8.0"
}
}
这样即使系统没安装这些扩展,check-platform-reqs 也会认为它们存在。适合 CI 或开发环境使用。
立即学习“PHP免费学习笔记(深入)”;
也可以全局设置(谨慎使用):
composer config -g platform.ext-redis "5.3.7"
例如修改前:
"require": {
"php": "^8.1",
"ext-redis": "*",
"ext-mbstring": "*"
}
修改后(临时):
"require": {
"php": "^8.1",
"ext-mbstring": "*"
// "ext-redis": "*" // 暂时注释
}
运行完检查后再恢复。适合一次性操作。
例如创建一个检查脚本:
#!/bin/bash output=$(composer check-platform-reqs --no-ansi 2>&1) echo "$output" | grep -v "ext-redis" | grep -v "ext-swoole"
这样仍执行检查,但不显示你希望忽略的扩展提示。
基本上就这些实用方式。最安全且可控的是使用 config.platform 来模拟扩展存在,避免修改代码或丢失检查逻辑。不复杂但容易忽略细节,建议按环境配置。
以上就是Composer check-platform-reqs如何忽略特定PHP扩展的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号