さて、この質問はインターネット上で何度も尋ねられましたが、私の場合、問題を解決する解決策は見つかりませんでした.
次のコードを使用して、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を実行しています。
これまでの私のトラブルシューティングは次のとおりです。
- URL が存在し、ブラウザで有効な結果が得られます。
allow_url_fopen
php.iniでオンになっていることを確認しました。- で Google Public DNS に変更しました
/etc/resolv.conf
。 - 動作
ping google.com
します。 - への切り替えは機能し
http://0.0.0.0/path/to/json
ますが、望ましくありません。 - 同じサーバーを指すドメインがいくつかあり、同じ問題が個別に発生します。
domain
inが少し気になるのですが、そう/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
どんな種類の助けも大歓迎です。