今天在使用file_get_contents函数时,遇到一个情况,我访问的路径是http的URL,
却总是出现超时的情况,我将他访问的路径打印出来后,然后复制到浏览器,没问题,是可以正常访问的,
但一用file_get_contents函数,就会出现超时,什么问题呢。以前从未遇到过这种情况。

解决方案 »

  1.   

    建议加上超时的参数$opts = array(
      'http'=>array(
        'method'=>"GET",
        'timeout'=>60,
       )
    );$context = stream_context_create($opts);
    $html =file_get_contents('http://www.example.com', false, $context);参考资料:http://cn.php.net/manual/en/context.http.php 
      

  2.   

    1.查看一下php.ini中allow_url_fopen是否为on
    2.file_get_contents别的地址试试,如果别的地址可以,这个地址不可以,可能有防采集
    3.用fsocket打开那个连接,打印一下返回值,看是不是该网站做反采集(也可以抓包对比)
      

  3.   

    嗯 ,说的很详细,谢谢,我将地址换成IP就可以了,之前用的locahost,为什么会这样呢 
      

  4.   


    可能跟host文件配置有关。
      

  5.   

    ping一下localhost,看看IP是多少!
      

  6.   

    这个简单,在你的文件顶部加入set_time_limit(0);就可以了。
    贵州网站建设 http://www.zzw666.com丰胸的水果有哪些  http://www.96food.com