php – fsockopen返回服务器错误(0)

我正在使用以下代码检查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.如果您不能只发布这些文件的输出,我们将看到我能做什么!

点赞