問題:
PHP 関数 file_get_contents() を使用して取得する場合特定のサーバー上の外部 URL のコンテンツの場合、空の結果が返されます。ただし、この関数はローカルで使用する場合、または同じサーバー上の内部 URL にアクセスする場合は正しく動作します。
考えられる原因:
問題は PHP.ini に関連している可能性があります。構成設定。
解決策:
を決定するにはどの PHP.ini 設定が問題の原因となっているかを確認するには、次の手順に従います:
allow_url_fopen 設定を確認します: この設定は、PHP が fopen ファミリを通じて外部 URL にアクセスできるかどうかを制御します。機能の。 Off に設定されている場合、file_get_contents() は外部 URL からコンテンツを取得できません。
PHP.ini ファイルで次の行を確認してください:
allow_url_fopen = Off
「オフ」に設定されている場合は、「オン」に変更します。
チェックを入れますallow_url_include 設定: この設定は、PHP がスクリプトに外部 URL を含めることができるかどうかを制御します。 Off に設定されている場合、file_get_contents() は外部 URL からコンテンツを取得できない可能性があります。
PHP.ini ファイルで次の行を確認してください:
allow_url_include = Off
「オフ」に設定されている場合は、「オン」に変更してください。
代替手段を使用してくださいfunction: 上記の設定で問題が解決しない場合は、代替関数を使用して file_get_contents() の動作を模倣できます。そのような関数の 1 つは、curl_init():
function get_content($URL){ $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $URL); $data = curl_exec($ch); curl_close($ch); return $data; } echo get_content('http://example.com');
以上が`file_get_contents()` がこのサーバー上の外部 URL の取得に失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。