我在一个只能使用HTTP或socks代理访问互联网的网络上使用composer。我有http_proxy和https_proxy环境变量。当compose尝试访问HTTPS URL时,我得到的结果是:
file could not be downloaded: failed to open stream: Cannot connect to HTTPS server through proxy
据我所知,连接https网站的唯一方法是使用连接动词。如何在这个代理后面使用composer?
发布于 2013-08-10 05:24:06
如果你在Linux或Unix (包括OS X)上,你应该把它放在会影响你的环境的地方:
export HTTP_PROXY_REQUEST_FULLURI=0 # or false
export HTTPS_PROXY_REQUEST_FULLURI=0 #
您可以将其放在/etc/profile
中,以全局影响计算机上的所有用户,或者您自己的~/.bashrc
或~/.zshrc
,具体取决于您使用的shell。
如果您使用的是Windows,请打开环境变量控制面板,然后添加一个系统或用户环境变量,并将HTTP_PROXY_REQUEST_FULLURI
和HTTPS_PROXY_REQUEST_FULLURI
设置为0
或false
。
对于阅读本文的其他人(不是您,因为您说您已经设置了这些设置),请确保使用相同的方法将HTTP_PROXY
和HTTPS_PROXY
设置为正确的代理。如果您使用的是Unix/Linux/OS,那么设置变量名称的大小写版本是最完整的方法,因为有些东西只使用小写版本,而IIRC则使用大写。(我经常使用一种混合环境,Windows上的Cygwin,我知道对我来说,拥有两者都很重要,但纯Unix/Linux环境可能只需要小写就可以了。)
如果您在完成所有这些操作后仍然无法正常工作,并且您确定设置了正确的代理地址,那么请检查您的公司是否正在使用Microsoft代理服务器。如果是这样,您可能需要安装Cntlm作为子代理,以便在Composer (等)之间连接。和Microsoft代理服务器。Google CNTLM获取更多关于如何设置它的信息和说明。
发布于 2013-09-17 22:01:16
如果您使用的是Windows,则应设置相同的环境变量,但Windows样式:
set http_proxy=<your_http_proxy:proxy_port>
set https_proxy=<your_https_proxy:proxy_port>
这将适用于您当前的cmd.exe。如果您想要更持久地执行此操作,建议您在系统上使用环境变量。
发布于 2014-09-19 21:05:24
如果您必须使用凭据,请尝试以下操作:
export HTTP_PROXY="http://username:password@webproxy.com:port"
https://stackoverflow.com/questions/17307600
复制相似问题