この記事はブロックされています。続きを読みたい方はログインをして下さい。会員ではない方は新規会員登録をして下さい。


wpXサーバーでPHPのfile_get_contentsやsimplexml_load_file関数が使えない時はcURLを使う

ロリポップからwpXサーバーに乗り換えをしたらPHPでエラーが出るようになり、調べてみたら.ini」の設定の違いということが分かりました。

エラーは「file_get_contents関数」で出ているようでした。
「file_get_contents」はPHPで外部サイトにアクセスするための関数です。

結論から書くとwpXサーバーでは「allow_url_fopen」「Off」になっており、PHPから外部サイトへのアクセスが禁じられているのですね。wpXサーバーでは現時点では「php.ini」をユーザーがいじられないので他の方法を探すしかありません。

というわけで、どんな方法が使えるかというと、という関数を使って回避します。
cURLとfile_get_contentsは似ているので、スクリプトの改変も簡単です。

▼cURLの解説

例えば、「file_get_contents」で以下のような処理をしている場合です。

$response = file_get_contents( $url );

以下のように書き換えることで同じことが出来ます。

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE );

$response = curl_exec( $ch );
curl_close( $ch );

もっと使いやすくするために関数にまとめるとこんな感じです。
POST形式でフォーム送信も可能です。

関連記事