我有我虚拟托管的Web服务器。我使用VirtualBox安装它,它使用Ubuntu Server系统。最近,我需要从Google Maps Geocode服务获取数据。首先,我尝试使用下一个代码:
file_get_contents(URL);
收到超时错误后,我也尝试使用cURL:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://maps.google.com/maps/api/geocode/json?address=" . $gm_address . "&sensor=false");
$result = curl_exec($ch);
curl_close($ch);
然而,我收到了超时错误。
我怀疑Ubuntu不允许PHP拨打其他网站。我不是Linux或Ubuntu专家,因此我不知道如何处理防火墙设置或允许PHP进行这些调用的设置。
简而言之,如何更改允许PHP从其他网站获取数据的设置?
答案 0 :(得分:0)
试试这个cURL代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://maps.google.com/maps/api/geocode/json?address=" . $gm_address . "&sensor=false");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
该文字现在是否显示在$result
?
答案 1 :(得分:0)
您可能需要检查可能阻止其他网站的防火墙设置。
答案 2 :(得分:0)
也许你的php.ini已禁用curl
在/etc/php.ini
中查找disable_functions