在有的服务器上会发现这种错误:
根据这个解答,我把misc.php的代码改了改。找到99行附近,把如下代码

fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known Error File: /uc_client/model/misc.php at 99 line.其实这是由于域名解析造成的,据有的人说可以在/etc/hosts里面添加条目来修复这个问题。但是对于虚拟主机用户来说,这是不可能的吧。而且这个办法似乎也不一定奏效。我搜索了一下,StackOverflow有一条解答很清晰:http://stackoverflow.com/questions/2661546/php-network-getaddresses-getaddrinfo-failed-name-or-service-not-known
根据这个解答,我把misc.php的代码改了改。找到99行附近,把如下代码
if (function_exists('fsockopen')) {修改为:
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
} elseif (function_exists('pfsockopen')) {
$fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout
} else {
$fp = false;
}
if(function_exists('fopen')) {问题应该就得到修复了。
$fp = @fopen("http://".($ip ? $ip : $host).":".$port, "rw");
} elseif (function_exists('fsockopen')) {
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
} elseif (function_exists('pfsockopen')) {
$fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout
} else {
$fp = false;
}

没有评论:
发表评论