解决PEAR connection problems问题

在安装Centreon时遇到PEAR更新库的问题,表现为pear.php.net通道响应失败,错误信息涉及php_network_getaddresses和Name or service not known。解决方案包括检查pear缓存目录、验证网络连通性、确认8080端口状态以及可能的ISA问题,并提供了通过命令行绕过问题的方法和HTTP代理设置建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在调研监控项目,其中在安装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
[y/n], default to [y]:
当选择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

如果你的缓存目录存在,那么继续查。

查看一下无法链接的源是否已经加入列表:

[root@david ~]# pear list-channels
Registered Channels:
====================
Channel      Alias   Summary
doc.php.net  phpdocs 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端口有没有被占用:

[root@david ~]# 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 ""
执行完命令,再次更新这个源。
[root@david centreon-2.3.4]# 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

希望对大家有帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值