必须严格写对三要素:键名repo.packagist(单数)、type值为composer、url为以/结尾的https地址,缺一则静默失效;换镜像后装支付sdk需删vendor和composer.lock再执行composer install。

composer config -g repo.packagist 命令必须写对三要素
直接执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 才生效,漏掉任意一个都会静默失败:键名不能是 repos.packagist(多一个 s)、type 值必须是 composer(不是 packagist 或空)、URL 必须以 HTTPS 开头且末尾带斜杠。Windows 用户尤其容易在 PowerShell 里因引号或空格导致命令被截断,建议复制整行粘贴,别手敲。
装支付 SDK 前先删 vendor 和 composer.lock
换镜像后首次安装支付 SDK(比如 wechatpay/wechatpay 或 alipay/alipay-sdk-php),如果报 hash does not match 或 package is not installed,说明旧 lock 文件仍指向海外源的包哈希。此时必须手动删掉项目根目录下的 vendor/ 目录和 composer.lock 文件,再运行 composer install ——不是 update,否则依赖解析可能卡住。
支付 SDK 初始化时注意 endpoint 和签名密钥路径
国内镜像只加速下载,不改变 SDK 行为。集成微信或支付宝 SDK 后,常见错误是 Invalid signature 或 cURL error 60:前者多半因 cert.pem / key.pem 路径写错(相对路径没从项目根目录算起),后者通常因 PHP 没加载 openssl 扩展或 CA 证书路径未配置。用 php -m | grep openssl 确认扩展已启用,必要时在 php.ini 中补上 curl.cainfo = "D:/php/cacert.pem"(Windows)或 curl.cainfo = "/etc/ssl/certs/ca-certificates.crt"(Linux)。
CI/CD 构建时镜像配置必须写进 composer.json
GitHub Actions、GitLab CI 或宝塔面板里的构建任务,默认不读你本地的全局 Composer 配置。哪怕你在自己电脑上配好了镜像,流水线里照样直连 packagist.org 导致超时失败。进入项目根目录,运行 composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉 -g),这条命令会安全追加到 composer.json 的 repositories 字段里,不破坏已有私有源。改完立刻提交,否则下次拉代码就白配了。
example/ 里的最小测试用例。php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











