PHP エラー: "file_get_contents(): getaddrinfo failed: Name or service not known"
サーバーからイメージをダウンロードしようとしたときPHP の file_get_contents() 関数を使用すると、「file_get_contents(): php_network_getaddresses: getaddrinfo に失敗しました: 名前またはサービスが不明です。」というエラーが発生する場合があります。これは、ドメイン名を解決して外部ネットワークに接続するサーバーの機能に問題があることを示しています。
このエラーは、多くの場合、DNS (ドメイン ネーム システム) 構成の問題によって発生します。問題の詳細な説明と考えられる解決策は次のとおりです:
エラー:
このエラー メッセージは、サーバーがドメイン名を IP アドレスに正常に解決できないことを示しています。 「getaddrinfo」関数を使用します。これは、DNS サーバーが正しくないかアクセスできない場合、またはサーバーがインターネットに接続できない場合に発生する可能性があります。
考えられる解決策:
1. DNS サーバーを確認します:
/etc/resolv.conf ファイルに有効な DNS サーバーが含まれていることを確認します。デフォルトの DNS サーバーを、Google の 8.8.8.8 や 8.8.4.4.
2 などのパブリック DNS サーバーに置き換えることができます。インターネット接続の確認:
「google.com」や「8.8.8.8」などのドメインに対してネットワーク ping を実行して、サーバーのインターネット接続を確認します。 ping が失敗した場合は、DNS 解決が正しく機能する前に解決する必要がある接続の問題を示しています。
3. PHP の getaddrinfo() 関数を使用します:
または、PHP の getaddrinfo() 関数を手動で使用して、サーバーがドメイン名を解決できるかどうかを確認できます。 getaddrinfo() が空の配列を返した場合は、DNS 解決の問題が確認されます。
例:
<code class="php">$hostname = 'app6.pixlr.com'; $result = getaddrinfo($hostname, null); if (empty($result)) { echo 'DNS resolution failed for ' . $hostname; }</code>
上記の手順で問題を解決できない場合は、 DNS およびネットワーク接続の問題のトラブルシューティングについては、ホスティング プロバイダーまたはネットワーク管理者に問い合わせる必要がある場合があります。
以上がPHP の「file_get_contents()」関数が「getaddrinfo に失敗しました: 名前またはサービスが不明です」というエラーをスローするのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。