【问题标题】:Access a url from webserver without changing php.ini在不更改 php.ini 的情况下从网络服务器访问 url
【发布时间】:2011-08-06 06:03:25
【问题描述】:

我想访问 google map api 进行反向地理编码。我使用 file_get_contents 方法访问 url。
$url = "http://maps.google.com/maps/geo?json&ll&ll=".$lat.",".$long;
$data = file_get_contents($url);

我得到 $data 的值为 FALSE,从堆栈溢出我得到的信息是由于 php.ini 文件的配置(allow_url_fopen 在我们的 Web 服务器中为 false)

我联系了网络服务器人员,但由于安全问题,他们没有准备好更改服务器配置。
有没有其他方法可以在不更改服务器配置的情况下访问 url? 分享你的经验,知识,谢谢

【问题讨论】:

    标签: php google-maps xml-rpc reverse-geocoding php-5.2


    【解决方案1】:

    您的服务器是否安装了 curl 库?你可以试试。

    例如,您可以尝试以下操作:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/2.0 (compatible; MSIE 3.02; Update a; AK; Windows 95)");
    curl_setopt($ch, CURLOPT_HTTPGET, true);
    curl_setopt($ch, CURLOPT_URL, 'http://maps.google.com/maps/geo?json&ll&ll='.$lat.','.$long  );
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    $ret_val = curl_exec($ch);
    
    echo $ret_val;
    

    【讨论】:

    • 感谢您的快速重播
    【解决方案2】:

    可以查看服务器是否安装了curl库...

    http://www.php.net/manual/en/book.curl.php

    您可以在phpinfo(); 的输出中查找类似cURL support enabled 的内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 2012-11-17
      • 2010-09-14
      相关资源
      最近更新 更多