1

さて、この質問はインターネット上で何度も尋ねられましたが、私の場合、問題を解決する解決策は見つかりませんでした.

次のコードを使用して、JSON データを取得しようとしています。

$response = file_get_contents('http://www.domain.com/path/to/json');

そして、次のエラーに常に遭遇しています。

file_get_contents(): php_network_getaddresses: getaddrinfo に失敗しました: 名前またはサービスが不明です

Nginx 1.2.6およびphp-fpmでPHP 5.4.4を使用してDebianを実行しています。

これまでの私のトラブルシューティングは次のとおりです。

  1. URL が存在し、ブラウザで有効な結果が得られます。
  2. allow_url_fopenphp.iniでオンになっていることを確認しました。
  3. で Google Public DNS に変更しました/etc/resolv.conf
  4. 動作ping google.comします。
  5. への切り替えは機能しhttp://0.0.0.0/path/to/jsonますが、望ましくありません。
  6. 同じサーバーを指すドメインがいくつかあり、同じ問題が個別に発生します。

domaininが少し気になるのですが、そう/etc/resolv.confですか?

# Automatically generated by OnApp (2.3.0-29)
domain localdomain

# Original DNS
#nameserver 10.0.10.10
#nameserver 10.0.11.11

# Google Public DNS
nameserver 8.8.8.8
nameserver 8.8.4.4

どんな種類の助けも大歓迎です。

4

3 に答える 3

1

言いたくないのですが、問題は自然に解決しました。Debian パッケージ ( apt-get upgrade) をアップグレードしたところ、問題はなくなりました。原因がわからないのはもどかしいですが。

ありがとうございました!

于 2013-10-02T11:23:10.117 に答える
0

ほとんどの場合、DNS の問題です。IP は機能するがドメインに問題がある場合は、DNS を調べる必要があります。それが「名前もサービスも不明」のヒントです。可能であれば、別のネームサーバーを使用してください。Google の DNS はドメインを IP に変換できないと思います。

于 2013-09-19T21:44:05.853 に答える
0

rootユーザーモードでphp(またはapache)を実行するか、debianパッケージを更新するという2つの方法で解決しました。このバグがあるのは、おそらく debian7u5 または update 4 です。

于 2014-01-07T08:36:13.893 に答える