Composer check-platform-reqs 命令参数核对服务器扩展版本

冬瑶酱_4244

冬瑶酱_4244

2026-11-13

665人浏览

原创

check-platform-reqs 仅检查当前 PHP 环境(PHP 版本、已加载扩展如 ext-zip/ext-xml、ICU/lib-iconv 等)是否满足 composer.json 中 config.platform 或 require 声明的平台约束,不查网络与依赖树。

composer check-platform-reqs 命令参数核对服务器扩展版本

check-platform-reqs 会检查哪些东西

composer check-platform-reqs 不查网络、不读依赖树,只做一件事:比对当前 PHP 运行环境(phpversion()、get_loaded_extensions()、extension_loaded()、INTL_ICU_VERSION 等)和 composer.json 里 config.platform 或根级 require 中声明的 platform 约束。

典型触发项包括:php 版本、ext-mbstring、ext-xml、ext-zip、ext-pdo、ext-gd、ext-curl、lib-iconv、lib-icu。它不会检查扩展是否启用正确(比如 pdo_mysql 是否可用),只看是否加载。

为什么 check-platform-reqs 显示缺失,但 php -m 里有?

常见原因不是“没装”,而是“没在当前 CLI SAPI 加载”。PHP 的 CLI 和 Web(如 Apache/FPM)使用不同配置文件(php.ini),扩展可能只启在 FPM 里。

  • 运行 php --ini 查看 CLI 实际加载的 php.ini 路径
  • 用 php -m | grep -i zip 确认 CLI 下是否真有 zip
  • 如果 php -m 没结果,但 phpinfo() 页面里有,说明 CLI 没启用该扩展——去对应 php.ini 补 extension=zip.so(Linux)或 extension=php_zip.dll(Windows)
  • 某些 Alpine 容器镜像默认不带 ext-zip,即使 apk add php83-zip 装了,也得手动写入 php.ini

--no-dev 和 --ignore-platform-reqs 对 check-platform-reqs 的影响

check-platform-reqs 默认检查全部 platform 约束,不管是不是 dev 依赖。加 --no-dev 不会跳过检查,它只影响 install 阶段是否装 dev 包。

Academic Composer Upload
Academic Composer Upload

辅助学术写作,包括查找资料、生成大纲、引用扩写及润色风格,同时确保引用规范。

下载

真正能绕过检查的是 --ignore-platform-reqs 或 --ignore-platform-req=ext-name,但注意:

  • check-platform-reqs --ignore-platform-reqs 是非法命令——这个参数只被 install、update、create-project 接受,check-platform-reqs 不支持
  • 想临时忽略某项再验证?改 composer.json 的 config.platform,比如设 "php": "8.2.0",再跑 check-platform-reqs
  • CI 场景下建议先 check-platform-reqs,失败再决定是否加 --ignore-platform-req=... 到 install 步骤,而不是盲目全局忽略

如何让 check-platform-reqs 输出更准的版本号

默认输出只显示 “ext-zip: missing” 或 “ext-xml: 8.3.12”,但有些包要求精确到 ICU 版本或 lib-* 库,这时需确认环境真实值:

  • ICU 版本:运行 php -r "echo INTL_ICU_VERSION;"
  • lib-iconv 版本:php -r "echo ICONV_VERSION;"(部分系统不可用,可改用 iconv --version)
  • lib-libxml:php -r "echo LIBXML_DOTTED_VERSION;"
  • 若 check-platform-reqs 报 lib-icu >= 72.1 不满足,而你运行 php -r "echo INTL_ICU_VERSION;" 得到 71.1,就得升级 ICU 或降级依赖包

平台约束不是装饰,是运行时安全线。check-platform-reqs 的输出哪怕只有一行 warning,也可能导致后续 php artisan 或 symfony console 启动即 Fatal error——别跳过,要读懂它报的是哪一层缺位。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

1000

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3572

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1156

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

1049

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

554

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3316

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

6272

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

947

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

phpEnv手册
phpEnv手册

共0课时 | 0人学习