file_get_contents()在Linux中不起作用

时间:2011-09-07 09:29:39

标签: php linux

  

可能重复:
  file_get_content failed to open stream: Connection refused

file_get_content函数无法在Linux vqs332.pair.com 2.6.32-33-server上运行。要么我需要更改我的php.ini中的任何设置或其他一些问题。 我正在使用此功能从地址(动态)获取纬度和经度。

file_get_contents("http://maps.google.com/maps/api/geocode/json?address=24411+Health+Center+Dr+Suite+200&sensor=false");

Plz指导我。

1 个答案:

答案 0 :(得分:1)

问题可能是您的主机已禁用allow_url_fopen。这在共享托管环境中非常常见,并且是明智的安全预防措施。

为了解决这个问题,您必须使用cURL将文件下载到本地路径并在本地使用。

e.g。

// Remote file we want, and the local file name to use as a temp file
$url = 'http://maps.google.com/maps/api/geocode/json?address=24411+Health+Center+Dr+Suite+200&sensor=false';
$localfile = 'mytempfilename.ext';

// Let's go cURLing...
$ch = curl_init($url);
$fp = fopen($localfile,'w');

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);

// Get the data into memory and delete the temp file
$filedata = file_get_contents($localfile);
unlink($localfile);