Composer可通过SOCKS5代理(如Tor)访问网络,需设置http_proxy和https_proxy为socks5h://127.0.0.1:9050以避免DNS泄漏,或使用torsocks命令包装执行。

Composer 支持通过代理访问网络,如果你需要使用 Tor 或其他 SOCKS5 代理来安装或更新 PHP 包,可以通过设置环境变量或修改 Composer 配置实现。Tor 默认监听 socks5://127.0.0.1:9050,而大多数 SOCKS5 代理也遵循类似格式。
1. 设置环境变量(推荐方法)
Composer 使用系统级的 HTTP/HTTPS 代理设置。虽然 Composer 原生不直接支持 SOCKS5,但你可以借助 curl 的代理功能,前提是 curl 编译时支持 SOCKS(大多数现代版本都支持)。
在终端中导出以下环境变量:
export http_proxy="socks5h://127.0.0.1:9050"export https_proxy="socks5h://127.0.0.1:9050"
注意:使用 socks5h 而不是 socks5 可确保 DNS 查询也通过代理进行,避免 DNS 泄漏。
设置完成后,运行 Composer 命令即可通过 Tor 网络请求资源:
composer install2. 全局配置代理(可选)
你也可以将代理写入 Composer 的全局配置文件,但这种方式仍依赖底层 curl 或 PHP Stream 的代理支持。
执行命令设置:
composer config -g http-proxy "socks5h://127.0.0.1:9050"composer config -g https-proxy "socks5h://127.0.0.1:9050"
取消设置使用:
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
composer config -g --unset https-proxy
3. 验证是否生效
测试 Composer 是否能通过代理获取信息:
composer show -v观察输出是否有网络请求成功。你也可以通过 Tor 的日志或使用 torsocks 工具包装命令来增强兼容性。
若遇到连接问题,确认 Tor 服务正在运行,并检查防火墙或 SELinux 设置。
4. 使用 torsocks(备用方案)
某些环境下,直接设置代理可能失败,因为 PHP 或 curl 没有正确处理 SOCKS 流量。这时可以使用 torsocks 包装 Composer 命令:
torsocks composer install确保系统已安装 torsocks(如 Debian/Ubuntu 上:apt install torsocks)。
基本上就这些。只要环境变量设置正确,Composer 就能通过 Tor 或任意 SOCKS5 代理拉取包。关键是使用 socks5h 并确保底层工具链支持。









