首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >http代理背后的PHP Composer

http代理背后的PHP Composer
EN

Stack Overflow用户
提问于 2013-06-26 05:10:21
回答 9查看 151.2K关注 0票数 37

我在一个只能使用HTTP或socks代理访问互联网的网络上使用composer。我有http_proxy和https_proxy环境变量。当compose尝试访问HTTPS URL时,我得到的结果是:

代码语言:javascript
复制
 file could not be downloaded: failed to open stream: Cannot connect to HTTPS server through proxy

据我所知,连接https网站的唯一方法是使用连接动词。如何在这个代理后面使用composer?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-08-10 05:24:06

如果你在Linux或Unix (包括OS X)上,你应该把它放在会影响你的环境的地方:

代码语言:javascript
复制
export HTTP_PROXY_REQUEST_FULLURI=0 # or false
export HTTPS_PROXY_REQUEST_FULLURI=0 #

您可以将其放在/etc/profile中,以全局影响计算机上的所有用户,或者您自己的~/.bashrc~/.zshrc,具体取决于您使用的shell。

如果您使用的是Windows,请打开环境变量控制面板,然后添加一个系统或用户环境变量,并将HTTP_PROXY_REQUEST_FULLURIHTTPS_PROXY_REQUEST_FULLURI设置为0false

对于阅读本文的其他人(不是您,因为您说您已经设置了这些设置),请确保使用相同的方法将HTTP_PROXYHTTPS_PROXY设置为正确的代理。如果您使用的是Unix/Linux/OS,那么设置变量名称的大小写版本是最完整的方法,因为有些东西只使用小写版本,而IIRC则使用大写。(我经常使用一种混合环境,Windows上的Cygwin,我知道对我来说,拥有两者都很重要,但纯Unix/Linux环境可能只需要小写就可以了。)

如果您在完成所有这些操作后仍然无法正常工作,并且您确定设置了正确的代理地址,那么请检查您的公司是否正在使用Microsoft代理服务器。如果是这样,您可能需要安装Cntlm作为子代理,以便在Composer (等)之间连接。和Microsoft代理服务器。Google CNTLM获取更多关于如何设置它的信息和说明。

票数 33
EN

Stack Overflow用户

发布于 2013-09-17 22:01:16

如果您使用的是Windows,则应设置相同的环境变量,但Windows样式:

代码语言:javascript
复制
set http_proxy=<your_http_proxy:proxy_port>
set https_proxy=<your_https_proxy:proxy_port>

这将适用于您当前的cmd.exe。如果您想要更持久地执行此操作,建议您在系统上使用环境变量。

票数 41
EN

Stack Overflow用户

发布于 2014-09-19 21:05:24

如果您必须使用凭据,请尝试以下操作:

代码语言:javascript
复制
export HTTP_PROXY="http://username:password@webproxy.com:port"
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17307600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档