php -v php -m | findstr /i gd php --ini composer install --ignore-platform-req=ext-gd
composer install 中断,提示某个 ext- 开头的扩展缺失,但 phpinfo 里明明能看到该扩展。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,命令行使用的 PHP 版本与 Web 端不是同一个,扩展只装在了另一个版本的配置目录里,Composer 检查的是当前命令行解释器的扩展清单。
围绕「Composer 扩展缺失」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。
处理上按这个顺序:确认 CLI 的 php -v 与 php -m;按该版本的 ini 目录安装扩展;必要时用 ignore-platform-reqs 临时绕过。
改完只确认一件事:php -m 能列出所需扩展,composer install 不再报平台依赖错误。