フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

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

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

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

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

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

▼cURLの解説
www.crystal-creation.com/web-app/tech/programming/php/network/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形式でフォーム送信も可能です。

コメント

  1. 2018/11/16(金) 06:49:01
    刀使ノ巫女の欠点 うちのWi-Fiがポンコツなせいかもしれないけど、サーバーがやや不安定な気がする それ以外は目をつむれる
  2. 2018/11/17(土) 09:22:26
    さくらのレンタルサーバー使おうじぇええええええええええええ https://t.co/VxNnMKcI9r

記事に戻る

コメントを残す