はまったはまったちょーはまった。なぜかinclude_pathを使うのに恐ろしく時間がかかった;; 3時間ぐらいハマってた!
まぁマビノギにはものすごい関係ない気がしますが、ここぐらいしかメモして晒して残せる場所がないのでわからない人はスルーしてください|-`)
ロリポップのレンサバでは、php.iniはフォームで限られたパラメータしか変更できない仕様で、その中にinclude_pathは入っていません。
仕方ないので他の方法、まずは.htaccessにphp_valueを設定する方法を試してみました。
php_value include_path “/home/users/*/***.jp-******/web/hogehoge”
(1行空行)
ですが、これでも動きません。
ここでダブルクオーテーションを外したりとか、パスの書き方をいじってみたりとか、いろいろ苦労してみたけれど結局進展はありませんでした。
仕方なく、.htaccessで設定する方法は諦めて、PHP内部にinclude_pathを書く方法をとりました。この方法をとるにあたって、以下のサイトを参考にさせていただきました。
http://maihy.com/hp/phptech/phptech_incpath.html
include_path:とことん!ホームページ
このページ内にあったソースをそのままコピペして持ってきました(ぁ
1 2 3 4 5 6 7 8 |
<span class="synSpecial"><?php</span> <span class="synStatement">if</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">_SERVER</span><span class="synSpecial">[</span>'<span class="synConstant">SERVER_NAME</span>'<span class="synSpecial">]</span><span class="synStatement">==</span>'<span class="synConstant">localhost</span>'<span class="synSpecial">)</span> <span class="synSpecial">{</span><span class="synComment">//ローカルホスト </span> <span class="synStatement">$</span><span class="synIdentifier">path</span> <span class="synStatement">=</span> '<span class="synConstant">C:/nisihunabasi/mitaina</span>'; <span class="synSpecial">}</span> <span class="synStatement">else</span> <span class="synSpecial">{</span><span class="synComment">//リモートホスト </span> <span class="synStatement">$</span><span class="synIdentifier">path</span> <span class="synStatement">=</span> "<span class="synConstant">/home/users/*/***.jp-******/web/hogehoge</span>"; <span class="synComment">/* ←インクルードしたい完全パス */</span> <span class="synSpecial">}</span> <span class="synIdentifier">set_include_path</span><span class="synSpecial">(</span><span class="synIdentifier">get_include_path</span><span class="synSpecial">()</span> <span class="synStatement">.</span> PATH_SEPARATOR <span class="synStatement">.</span> <span class="synStatement">$</span><span class="synIdentifier">path</span><span class="synSpecial">)</span>; <span class="synSpecial">?></span> |
$pathにはインクルードしたい完全パスを入れてください。PATH_SEPARATORはインクルード時に使う区切り文字で、Windows系では”;”が、UNIX系では”:”が自動的に入ります。(参考サイトより)
PHPファイルにコードを突っ込んで、なんとか動き出しました。よかった;w;
結論としては、「ロリポップでPHPのパスを通す(include_path)ときはPHPのコード内に書く」ということになります。モノによってはすごく面倒ですね。うちは変更部分が一か所だけだったんで大丈夫でしたけど。
.htaccessで書ける方法があるならぜひ知りたいです;;