wpXレンタルサーバでfile_get_contents()が動作しないときの対処法

lmonk72 / Pixabay


APIを使う際、PHPのfile_get_contents() でデータを取得することがあります。

こんな感じです。

なんてことのない、ごくごく一般的な使い方だと思います。

APIのリクエストURLは正常であることを確認できていて、しかしなぜかfile_get_contents()がダメ。これで半日はまりました。

結論:wpXレンタルサーバーの設定を変える

サーバを乗り換えたため、以前のサーバからwordpressで作ったwebサービスも引越ししていたのですが、引越し先のwpXレンタルサーバーでなぜかうまく動作しませんでした。

APIのリクエストURLは正常であることを確認できていて、数時間かけていろいろ調べた結果、php.ini の allow_url_fopen というオプションが関係しているという情報にたどり着きました。

ということで、wpXレンタルサーバーの設定を確認します。

管理画面にログインし、変更したいドメインを選択します。

選択したら、中段より少し下にある「各種管理設定」の「php.ini設定」の「設定」をクリック。

「allow_url_fopen」の欄を見ると、変更していなければ「OFF」になっているはず。「ON」をチェックし「設定変更(確認)」をクリックします。

これで、あっさりとfile_get_contents()が使えるようになります。

まとめ

wpXレンタルサーバーでfile_get_contents()を使う場合は、忘れずに設定を変更すること!

わかってしまうとなんてことないのですが、数時間は余裕ではまるので覚えておきましょう。