Доступ к URL с веб-сервера без изменения php.ini - PullRequest
0 голосов
/ 06 августа 2011

Я хочу получить доступ к API карты Google для обратного геокодирования.Я получаю доступ к URL, используя метод file_get_contents.$ url = "http://maps.google.com/maps/geo?json&ll&ll=".$lat.",".$long;$ data = file_get_contents ($ url);

И я получил значение $ data как FALSE. Из переполнения стека я получил информацию о том, что из-за конфигурации файла php.ini (allow_url_fopen имеет значение false на нашем веб-сервере)
Я связывался с людьми веб-сервера, но из-за проблем безопасности они не были готовы изменить конфигурацию сервера.Есть ли альтернативный способ доступа к URL без изменения конфигурации сервера?Поделитесь своим опытом, знаниями, спасибо

Ответы [ 2 ]

2 голосов
/ 06 августа 2011

На вашем сервере установлена ​​библиотека 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;
1 голос
/ 06 августа 2011

Вы можете проверить, установлена ​​ли на сервере библиотека curl ...

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

Вы можете найти что-то вроде cURL support enabled в выводе phpinfo();

...