应执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/全局配置阿里云镜像,末尾斜杠不可省略;该操作仅加速php包下载,不影响pecl install等c扩展编译过程。

Composer 默认源在国外,装 ext-redis、ext-swoole 这类带编译步骤的扩展时,下载 php-src 或第三方依赖动辄卡住十几分钟,甚至失败。换国内镜像源能显著提速,但不是所有镜像都支持扩展安装(尤其是涉及 pecl 或 git 仓库的场景)。
怎么全局切换到阿里云 Composer 镜像
阿里云镜像兼容性最好,对 composer require 和 composer install 均生效,且不干扰 PECL 扩展本身的编译逻辑。
- 运行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(注意末尾斜杠不能少) - 验证是否生效:执行
composer config -g repo.packagist,输出应为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"} - 若之前有自定义源(如腾讯云),先用
composer config -g --unset repos.packagist清掉再设
为什么换源后 pecl install redis 还很慢
因为 pecl 是独立工具,它不走 Composer 源,而是直连 pecl.php.net。Composer 镜像只加速 PHP 包(vendor/ 下的代码),不加速 C 扩展编译过程中的源码下载。
- 想加速
pecl安装,需单独配置:编辑~/.peclrc(Linux/macOS)或%USERPROFILE%\pecl.ini(Windows),添加remote_dir=https://pecl.php.net→ 改为remote_dir=https://mirrors.aliyun.com/php-pecl/ - 但注意:阿里云目前未镜像全部 PECL 扩展,部分新版本(如
swoole 5.1.0)可能尚未同步,此时会 fallback 到官方源 - 更稳妥的方式是手动下载
.tgz包:访问https://mirrors.aliyun.com/php-pecl/找对应扩展和 PHP 版本,再pecl install /path/to/xxx.tgz
遇到 Could not fetch https://packagist.org/packages.json 错误怎么办
这是 Composer 明确在用默认源,说明镜像没生效,常见于项目级配置覆盖了全局配置。
- 检查项目根目录是否存在
composer.json中的"repositories"字段,若有,优先级高于全局设置 - 运行
composer config repo.packagist(不加-g)查看当前项目配置,删掉或注释掉该字段 - 某些 IDE(如 PhpStorm)会自动写入本地配置,可在
./composer.json同级找composer.lock上方的composer.json或隐藏的.composer/config.json
真正影响速度的不是“换镜像”这一步,而是镜像是否同步及时、是否覆盖你用的扩展版本。阿里云镜像更新频率高,但 PECL 部分仍需手动干预——这点容易被忽略。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











