如何在代理后面使用PEAR?

Dan*_*ris 30 php proxy pear

最初我使用以下内容但没有成功;

export http_proxy=http://username@password:host:port
Run Code Online (Sandbox Code Playgroud)

值得注意的是,我没有直接得到连接错误;

[root@pal ~]# sudo pear info  PHP_CodeSniffer-1.2.1
No information found for `PHP_CodeSniffer-1.2.1'
Run Code Online (Sandbox Code Playgroud)

Dan*_*ris 88

而不是使用系统的http_proxy,直接在pear的配置中设置代理;

pear config-set http_proxy http://username:password@yourproxy:80
Run Code Online (Sandbox Code Playgroud)

  • 注意密码中的特殊字符,例如!或者@,我们必须使用十六进制的html代码,例如char ! 是 %21。 (2认同)

Dam*_*ien 15

您的sudo用户也可能遇到与您的用户不同的配置问题.

如果你这样做:

pear config-set http_proxy http://username:password@yourproxy:80
Run Code Online (Sandbox Code Playgroud)

然后

sudo pear channel-discover pear.symfony-project.com
Run Code Online (Sandbox Code Playgroud)

您已更改用户,但仍未设置代理.

所以使用适当的命令:

sudo pear config-set http_proxy http://username:password@yourproxy:80
Run Code Online (Sandbox Code Playgroud)

(在Ubuntu 11.04全新安装上发现问题)


bor*_*ran 6

请注意,即使没有,该方法也不会pear config-set http_proxy起作用。pecl config-set http_proxypecl config-get http_proxy

那花了我很多的头发拉:-)


小智 5

这将删除代理设置:

pear config-set http_proxy ""
Run Code Online (Sandbox Code Playgroud)