2011-09-17 3 views
0

私のlocalhost上では、include_pathを設定するためにphp.iniを試しています。しかし、残念ながら、私のphp.iniのinclude_pathの行が大きくなり、見た目も見苦しくなります。私はinclude_pathを設定する方法を探しています。スーパーファイルにすべてのinclude_pathディレクティブが含まれているディレクトリツリーのどこに関係なく、すべてのページに単一のインクルード行をコピーして貼り付けることができます(例:<?php include("superfile.php");?>)。php.iniや.htaccessを使わずにinclude_pathを設定することは可能ですか?すべてのPHPディレクトリに影響しますか?

私はすでに

<?php 
    $include_path = $_SERVER["DOCUMENT_ROOT"] . "/more/directories/as/needed/"; 
    ini_set("include_path", $include_path); 
    include("initialize.php"); 
?> 
を試してみましたが、 superfile.phpとしてルートフォルダにそれを保存しました。しかし、ルート/サブにあるファイルのインクルードパスを superfile.phpで設定したいのであれば、インクルードパスを設定するという私の目的を打ち破って、 <?php include("../superfile.php"); ?>( "ディレクトリアップ"ドットで)行う必要があります。

提案がありますか?ありがとう!

+0

root/subのファイルにinclude_pathが設定されている場合、 'superfile.php'をインクルードすると、ここであなたのドリフトをキャッチしません。 – Tom

+0

私の悪い。私はひどく申し訳なく思った。それを編集して(うまくいけば)もっと明確になるようにしました。 – skytreader

+0

この質問は間違って答えられました。 **いいえ、それはまったく不可能です!**すべてのディレクトリに対して 'include_path'を設定するには' php.ini'を編集する必要があります。代わりに、私の答え:http://stackoverflow.com/a/8579545/220060で概説されているように、すべてのディレクトリに '.htaccess'ファイルを置いていますが、** **ファイルだけでは不十分です。 – nalply

答えて

1

カスタムinclude_pathディレクティブをすべてphp.iniから削除したようです。

すべてのスクリプトが<?php include("superfile.php");?>を呼び出せるようにするには、これを許可するphp.ini include_pathに1つのエントリを追加するだけです。

+0

Errr ...いいえ、申し訳ありません。私の質問は、間違いなく、あいまいで不明なので、私の部分で時制の悪いとフレーズ。私はそれを編集しました、そして今、それがより明確になることを願っています。 – skytreader

+1

@skytreader 'superfile.php'はそれを含むファイルにのみ影響を与えることができます。ファイルを含めるには、htaccess/php.iniのinclude_path設定を使用して、ファイルがどこにあるかを知る必要があります。 – Shad

関連する問題