ホーム > php | 技術系 > file_get_contentsがNULLを返すようになった原因の調査

file_get_contentsがNULLを返すようになった原因の調査

PHPで、あるプログラムを作成していて、file_get_contents関数で特定のURLからJSONファイルを取得するという処理を行っていたのですが、以前は動作していたプログラムが、サーバ移行後に file_get_contents関数で取得できなくなってしまった現象に遭遇してしまったので調査と対応について記しておきます。

状況

・ 特定のURLから file_get_contents関数でJSONファイルを取得し、後に処理

・ 以前は動作していたが、サーバ移転後に動作しなくなった

・ レスポンスヘッダもNULLを返すようになっていて、原因が不明

調査

まず、エラーログを見て file_get_contents 関数がエラーになっていないかどうかを調べてみたのですが、エラーにはなっていませんでした。

結果からいうと、エラーになっていたわけではなく、取得がNULLになっているという謎の結果。

解決

ファイルを取得するのに、file_get_contents関数ではなく、cURL関数を使うことで解決できました。

以下の記事が参考になりました。

file_get_contents関数が動かなかった場合の方法 | Tips Note by TAM

cURL関数を使うことで、file_get_contentsとほぼ同じ動作をする関数を定義して、使用しました。

何故 file_get_contents 関数が新しいサーバで動作しなかったのかについては不明ですが、代用の関数でなんとかなりました。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
https://www.itblog.jp/wp-trackback.php?p=9647
トラックバックの送信元リスト
file_get_contentsがNULLを返すようになった原因の調査 - ITblog より

ホーム > php | 技術系 > file_get_contentsがNULLを返すようになった原因の調査

フィード
リンク集

ページの上部に戻る