ロリポップでfile_get_contentsが使えなくなった場合の確認箇所

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

現象ですが、ロリポップで、下記スクリプトを実行すると”Warning: file_get_contents() file-access is disabled”エラーが出てしまいます。

■スクリプト

<?php
ini_set('allow_url_fopen',"On");
echo file_get_contents("http://hogehoge.com/");
?>

■エラー

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in http://....

■原因

新規でサブドメインなどを作成すると、PHP.INIの設定が、親(ルートの)設定を引き継ぐのではなく推奨値になるためです。 “allow_url_fopen”,”allow_url_include”がデフォルトで”Off”になります。

PHP内でini_setを使って”allow_url_fopen”,”allow_url_include”を”On”に設定しても、ロリポップでは動作しません。

ロリポップでは”allow_url_fopen”,”allow_url_include”を.htaccessなどでは”On”にできず、今後対応の予定もないといった情報がありますが、設定できます。

■解決方法

落ち着けば簡単ですが、ロリポップの設定画面に入り、[WEBツール]-[php.iniの設定]で、”allow_url_fopen”をONに変更します。(設定画面

そう、普通にユーザー画面に入ればわかる事だったんですけどね。これは、セーフモードがONでも動作します。

色んなサーバをかけもちすると、「いつの間に!」といった事が多いのですが、最近Lolipopもサービスを増やしたりして、頑張っていると思います。

プレビュー用にテスト・サイトを作成した時など、新規サブドメイン追加時に、同じドメインなのにスクリプトが動かなったので、びっくりしてしまいます。いやん。

関連記事

PHPでPOSTした結果を取得する関数:フォームの動作を模擬する... PHPのfile_get_contents関数のPOST版ユーザ関数"file_post_contents()"を作りました。 このPHPのユーザ関数で、フォームからmethodをPOSTでリクエストしたのと同じ結果が簡単に得られます。 RESTを使ったサービスを利用する際の簡易的な実装にど...
PHPのfile_get_contentsで404エラーを検知する... PHPのfile_get_contents関数を使ってURL先のコンテンツを取得する際に、取得先にファイルがない(404エラーであった)場合の処理のサンプル・コードです。URLが存在するか調べるだけであれば、HTTPヘッダーを調べる方が軽いです。
PHPのSplFileObjectでURLを指定してCSVを読み込む... URLをSplFileObjectで使うにはNoRewindIteratorクラスも一緒に使う $url = 'http://sample.com/data.csv'; //オンライン上のCSVファイル $file = new NoRewindIterator( new SplFile...

スポンサーリンク
レクタングル(大)広告

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク
レクタングル(大)広告