无法打开流:HTTP请求无法在php中计算距离的Google API请求?

无法打开流:HTTP请求无法在php中计算距离的Google API请求?,php,google-maps,Php,Google Maps,我正在向google maps api services发送请求,以计算如下url所示的距离: $apiURL = "http://maps.google.com/maps/geo?&output=xml&key=AIzaSyCYz5Kpw4xTYVwAUibaMIUVBcaL-RfTumk&q=myAddress" 我正在尝试使用文件获取内容($apirl)获取响应,它与我的本地系统运行良好。当我将同一个文件上载到服务器时,file\u get\u contents(

我正在向google maps api services发送请求,以计算如下url所示的距离:

$apiURL = "http://maps.google.com/maps/geo?&output=xml&key=AIzaSyCYz5Kpw4xTYVwAUibaMIUVBcaL-RfTumk&q=myAddress"
我正在尝试使用
文件获取内容($apirl)
获取响应,它与我的本地系统运行良好。当我将同一个文件上载到服务器时,
file\u get\u contents($apirl)
的输出似乎为空,并给出类似以下错误的信息: 警告:

file_get_contents(http://maps.google.com/maps/geo?&output=xml&key=AIzaSyCYz5Kpw4xTYVwAUibaMIUVBcaL-RfTumk&q=Aerekere
%2Cbangalore%2Ckarnataka) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /mnt/stor2-wc1-dfw1/410304/hfg.mpadusa.com/web/content/components/com_helping/controllers/distance.php 
on line 108.
我检查了两件事,比如

  • 允许\u url\u fopen:打开就可以了
  • Linux服务器的新ApI密钥
  • 在本地windows系统中,所有响应都正常
    我可能会问这个问题。非常感谢您的帮助。

    由于访问外部内容(如通过http)时存在安全风险,web服务器上的文件获取内容通常会被禁用/阻止


    作为一种良好的实践,始终使用curl函数获取外部内容,包括对googleapi的调用。你可以在网上找到很多使用curl的例子,但是一个简单的开始是手册:

    @Robbile感谢你的热情支持。我会选择curl&我也尝试了很少使用curl,但没有找到想要的解决方案。需要在服务器上启用哪些内容才能使用文件获取内容进行访问。谢谢。请查看:-但是curl绝对是不修改php.ini的最佳方式;)