我正在使用以下代码在 Ubuntu 服务器 13.04 中检查 fsockopen
:
<?php
$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
服务器返回
php_network_getaddresses: getaddrinfo failed: System error (0)
有什么帮助吗?
最佳答案
您的代码没有问题 - 可以正常工作!
很可能是防火墙阻止了 80
端口,这就是您无法连接的原因。
从控制台检查你的连接,看看你得到了什么:
ping google.com
编辑 1:
很可能您的 /etc/resolv.conf
或 /etc/hosts
有问题。解决方法可以引用:Ping: Unknown host .如果您不能只发布这些文件的输出,我们将看看我能做些什么!
关于php - fsockopen 返回服务器错误 (0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21075434/