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 代理也遵循类似格式。
Composer 使用系统级的 HTTP/HTTPS 代理设置。虽然 Composer 原生不直接支持 SOCKS5,但你可以借助 curl 的代理功能,前提是 curl 编译时支持 SOCKS(大多数现代版本都支持)。
在终端中导出以下环境变量:
export http_proxy="socks5h://127.0.0.1:9050"注意:使用 socks5h 而不是 socks5 可确保 DNS 查询也通过代理进行,避免 DNS 泄漏。
设置完成后,运行 Composer 命令即可通过 Tor 网络请求资源:
composer install你也可以将代理写入 Composer 的全局配置文件,但这种方式仍依赖底层 curl 或 PHP Stream 的代理支持。
执行命令设置:
composer config -g http-proxy "socks5h://127.0.0.1:9050"取消设置使用:
composer config -g --unset http-proxy测试 Composer 是否能通过代理获取信息:
composer show -v观察输出是否有网络请求成功。你也可以通过 Tor 的日志或使用 torsocks 工具包装命令来增强兼容性。
若遇到连接问题,确认 Tor 服务正在运行,并检查防火墙或 SELinux 设置。
某些环境下,直接设置代理可能失败,因为 PHP 或 curl 没有正确处理 SOCKS 流量。这时可以使用 torsocks 包装 Composer 命令:
torsocks composer install确保系统已安装 torsocks(如 Debian/Ubuntu 上:apt install torsocks)。
基本上就这些。只要环境变量设置正确,Composer 就能通过 Tor 或任意 SOCKS5 代理拉取包。关键是使用 socks5h 并确保底层工具链支持。
以上就是如何配置 composer 使用 Tor 或 SOCKS5 代理?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号