Composer 网络机制
当我们使用 Composer
来安装插件的时候, Composer 发起的请求可以分为以下两种:
- 解析 package 依赖, 跟
packagist.org
连接, 利用 packagist 上所有 package 的数据库, 解析代码依赖; - 下载安装包, 针对单个
package
对应的 cvs 地址 ( 大部分为 github ) , 下载对应版本的代码;
comproxy.cn ( 解析 package 依赖的 proxy )
使用的是 Composer Proxy 项目搭建, 实现原理是在访问 packagist.org
的中间加了个 proxy, 缓存了 json 文件, 下图有助于理解:
上图的请求, 是在执行了命令 composer install
后发起的, 可以分为两部分
- 前一部分是
proxy
过的, 解析 package 信息的请求; - 后一部分是从
github
下载的代码的请求;
pkg.phpcomposer.com 全量镜像
使用 Toran 项目来构建, 原理是缓冲 解析 package 依赖
和 安装包的下载
.
总结
可以看出, Toran 的缓存要比 Composer Proxy 更加彻底, 速度要快很多, 因为所有的请求都来自于国内的服务器.
方法二:翻墙解决速度慢
还有一种方式可以结合本网站提供的免费Shadowsocks