解决PEAR connection problems问题
最近在调研监控项目,其中在安装Centreon的时候,到如下步骤的时候:
------------------------------------------------------------------------
Pear Modules
------------------------------------------------------------------------
Check PEAR modules
PEAR 1.4.9 1.6.1 OK
DB 1.7.6 NOK
DB_DataObject 1.8.4 NOK
DB_DataObject_FormBuilder 1.0.0RC4 NOK
MDB2 2.0.0 NOK
Date 1.4.6 NOK
HTML_Common 1.2.2 NOK
HTML_QuickForm 3.2.5 NOK
HTML_QuickForm_advmultiselect 1.1.0 NOK
HTML_Table 1.6.1 NOK
Archive_Tar 1.1 1.3.2 OK
Auth_SASL 1.0.1 NOK
Console_Getopt 1.2 1.2.3 OK
Net_SMTP 1.2.8 NOK
Net_Socket 1.0.1 NOK
Net_Traceroute 0.21 NOK
Net_Ping 2.4.1 NOK
Validate 0.6.2 NOK
XML_RPC 1.4.5 NOK
SOAP 0.10.1 NOK
Log 1.9.11 NOK
After displaying the current versions you may get the request to update some libraries.
Do you want me to install/upgrade your PEAR modules
, default to :
当选择y的时候,就不停的循环调用Pear安装,但一直无法安装成功,陷入死循环。
网上各种搜索,大多数说Pear的版本不匹配(完全折腾人的解释)。
既然输入y,由Centreon通过pear帮你安装不成功,第一个思路就是使用pear手动安装一下试试,果不其然,pear链接失败:
Channel "pear.php.net" is not responding over http://, failed with message:
Connection to `my_proxy.com:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "pear.php.net" over https:// instead
Cannot retrieve channel.xml for channel "pear.php.net" (Connection to `my_proxy.com:8080'
failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
假如你也出现这个错误,我的解决办法流程是:
先搜到一个pear的bug report,大概是确认pear的缓存目录是否存在:http://pear.php.net/bugs/bug.php?id=10847
如果你的缓存目录存在,那么继续查。
查看一下无法链接的源是否已经加入列表:
# pear list-channels
Registered Channels:
====================
Channel Alias Summary
doc.php.netphpdocs PHP Documentation Team
pear.php.net pear PHP Extension and Application Repository
pecl.php.net pecl PHP Extension Community Library
__uri __uri Pseudo-channel for static packages
如果发现故障源,确认故障源能否联通,排除是网络问题。
root@david ~]# ping pear.php.net
PING euk1.php.net (5.77.39.20) 56(84) bytes of data.
64 bytes from 5.77.39.20: icmp_seq=1 ttl=50 time=263 ms
64 bytes from 5.77.39.20: icmp_seq=2 ttl=50 time=260 ms
网络没有问题,还要确定8080端口有没有被占用:
# netstat -ntupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1016/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1104/master
tcp 0 0 :::22 :::* LISTEN 1016/sshd
tcp 0 0 ::1:25 :::* LISTEN 1104/master
tcp 0 0 :::5666 :::* LISTEN 1024/xinetd
udp 0 0 0.0.0.0:68 0.0.0.0:* 923/dhclient
端口也没有被占用,那就可能和我的问题一样:
可能是你的ISA出了问题,但为什么问题我也搞不清楚,但可以尝试通过如下命令绕过这个问题:
pear config-set http_proxy ""
执行完命令,再次更新这个源。
# pear channel-update pear.php.net
Updating channel "pear.php.net"
Channel "pear.php.net" is up to date
在我的主机上是成功了。
如果还不行,就要参考如下链接,选择一个HTTP proxy
http://kb.imakewebsites.ca/2012/08/29/pear-connection-problems/
到此为止我的问题解决了:
Installing PEAR modules
DB 1.7.6 1.7.13 OK
DB_DataObject 1.8.4 1.8.12 OK
DB_DataObject_FormBuilder 1.0.0RC4 1.0.0 OK
MDB2 2.0.0 2.4.1 OK
HTML_QuickForm_advmultiselect 1.1.0 1.5.1 OK
HTML_Table 1.6.1 1.8.2 OK
Auth_SASL 1.0.1 1.0.3 OK
Net_SMTP 1.2.8 1.3.3 OK
Net_Traceroute 0.21 0.21.1 OK
Net_Ping 2.4.1 2.4.4 OK
Validate 0.6.2 0.8.2 OK
XML_RPC 1.4.5 1.5.2 OK
SOAP 0.10.1 0.12.0 OK
Log 1.9.11 1.11.5 OK
Check PEAR modules
PEAR 1.4.9 1.6.1 OK
DB 1.7.6 1.7.13 OK
DB_DataObject 1.8.4 1.8.12 OK
DB_DataObject_FormBuilder 1.0.0RC4 1.0.0 OK
MDB2 2.0.0 2.4.1 OK
Date 1.4.6 1.4.7 OK
HTML_Common 1.2.2 1.2.5 OK
HTML_QuickForm 3.2.5 3.2.11 OK
HTML_QuickForm_advmultiselect 1.1.0 1.5.1 OK
HTML_Table 1.6.1 1.8.2 OK
Archive_Tar 1.1 1.3.2 OK
Auth_SASL 1.0.1 1.0.3 OK
Console_Getopt 1.2 1.2.3 OK
Net_SMTP 1.2.8 1.3.3 OK
Net_Socket 1.0.1 1.0.9 OK
Net_Traceroute 0.21 0.21.1 OK
Net_Ping 2.4.1 2.4.4 OK
Validate 0.6.2 0.8.2 OK
XML_RPC 1.4.5 1.5.2 OK
SOAP 0.10.1 0.12.0 OK
Log 1.9.11 1.11.5 OK
All PEAR modules OK
希望对大家有帮助。
页:
[1]