file_get_contents返回无法打开流:连接超时错误

时间:2014-05-06 06:31:27

标签: php bash curl file-get-contents

我在Centos机器上使用以下代码来获取URL响应:

<?php
ini_set('display_errors', 'On');
$homepage = file_get_contents('http://www.google.com/');
echo $homepage;
?>

它返回错误:

  

&#34;警告:file_get_contents(http://www.google.com/):无法打开流:第3行和第34行的testFGC.php连接超时;

我已查看php.ini文件。一切都很好看。 iptablesip6tables已关闭。

我尝试过使用curl代替file_get_contents,但这也不行。

但是bash命令行的正常卷曲工作得非常好(返回html内容)。

curl www.google.com

可能是什么原因?即使bash卷曲有效,防火墙规则也可以成为问题吗?谢谢。

2 个答案:

答案 0 :(得分:0)

错误表明, file_get_contents 未收到来自主机www.google.com的回复

否则,您的代码非常适合获取主机内容,

<?php
    ini_set('display_errors', 'On');
    $homepage = file_get_contents('http://www.google.com/');
    echo $homepage;
?>

我在这里测试.... CodeViper

答案 1 :(得分:0)

好像其实际上与你的服务器有问题,不是你的代码。但是,如果您说curl有效,则可以在代码中使用

$curl = curl_init('http://www.google.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);


$html = curl_exec($curl);
//html var will contain the html code 

if (curl_error($curl)){
    die(curl_error($curl));
}
// Check for HTTP Codes (if you want)
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

希望这会有所帮助。