諸事情あって、includeを良く使うのだけど、よく「表示されなくなった」という報告を聞くようになりました。
file-access is disabled in the server configuration inというようなエラーがでます。
php5にバージョンアップしましたよーというサーバだったので、php5にしたのがまずかったかな?と思ったのですが、どうなのかな。
サーバーの設定が変わったってのや、php5にしたからってのや、いろいろと理由があるんで、とりあえず対策をメモ。
[その1]
php_flag allow_url_fopen
php_flag allow_url_include
を確認する。
offになってたら、phpがCGIバージョンなら、htaccessで設定できるはず……。
(上記のことは、特定のphp5でのincludeができない場合の解決法(@ブログアフィリエイト備忘録)を読ませていただきました)
[その2]
CURL関数を利用する。 PHPmanualはこちら
これ、使い方があってるかはちょっと研究できてませんが……
(上記のことは、PHP5だとincludeに絶対パスが使えない その対策と代替案(@Webノウハウのつぼツꀀを読ませていただきました)
検証等して、またまとめなおせたらいいな。
その後の検証:sakuraインターネットの共有サーバ
htaccessに書く方法を試したがうまく行かず、
よく調べるとsakuraのサーバーのコントロールパネルからphpの情報を変更できる場所があった。
「コントロールパネル」>「PHP設定の編集」を選ぶ。
そこに出てきたテキストエリアに以下を書き込む。
allow_url_fopen = on
allow_url_include = on
以上。
コメントを残す