2012-01-11 9 views
1

私は実質的にホストされたウェブサーバーを持っています。 VirtualBoxを使用してインストールし、Ubuntu Serverシステムを使用します。最近、私はGoogle Maps Geocodeサービスからデータを取得する必要がありました。まず、私は次のコードを使用してみました:PHP5は他のウェブサイトからデータを受け取ることができません

file_get_contents(URL); 

タイムアウトエラーを取得した後、私はまた、カールを使用してみました:

$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

ためのカール無効

外観を持って、あなたがやったことをコメントし、その後、あなたが使用cURLのコードを投稿してください。 – blake305

+0

投稿を編集しました。これでcURLコードも追加されました。 –

+0

私は問題を見る。私は答えを投稿しています – blake305

答えて

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に表示されていますか?

+0

動作しません。スクリプトは1分ほど読み込まれ、再び応答はありません。私は$ resultの内容を見るためにvar_dump()を使いました。そして、私は偽のブール値を得ました。 –

+0

他のURLで動作しますか? – blake305

+0

cliからそのコードを実行して、機能しているかどうかを確認しました。 –

0

ファイアウォールの設定が他のサイトをブロックしている可能性があります。

0

たぶんあなたのphp.iniのに/etc/php.ini

disable_functions
関連する問題