3


2

複数のphp.iniファイルを持つことができますか?

私の_php.ini_ファイル( C:\ Windows \ php.ini)に` include_path`変数を設定したいです。

しかし、同じWindowsサーバーでホストされているサイトごとに異なる `include_path`値が欲しいのです。 これどうやってするの?

4 Answer


4


_ _ php.iniは、次の場所で(順番に)検索されます。

  1. . . _ _

このリストを確認して、自分の場合に役立つテクニックの1つがあるかどうかを確認できます。 たとえば、環境変数 `PHPRC`を設定したり、各仮想ホストに異なるcwdがあると仮定して、それぞれの現在の作業ディレクトリに異なるphp.iniファイルを置くことができます。

Apacheとmod_php、あるいはPHPをWebサーバーに組み込んでいるその他のモジュールを使用する場合は注意してください(例: FastCGI)、php.iniファイルはWebサーバの起動時に一度読み込まれます。 PHPをCGIで使用する場合、php.iniファイルはWebリクエストごとに読み込まれるため、異なるphp.iniを使用する機会が増えます。


3


httpd.confファイルに正しいAllowOverride設定があると仮定して、.htaccessファイルからphp include_pathを設定できます。 これがその例です。

htaccess
php_value include_path "d:\ path \ to \ include"


2


私が質問を理解したように、それぞれのサーバー/サイトへの個別のインクルードパスよりも複数のphp.iniファイルを持つことがより重要ですか? Idは、できるだけPHPでコードを保存すると言います。

それから、あなたはただhttp://no.php.net/set_include_path[set_include_pathまたはini_set]でinclude_pathを設定することができます。

Apacheでは、 `php_value include_path" :::。 ``を使って仮想ドメインまたは.htaccessファイルに設定できます。 IISもおそらく同様の方法を持っています。


1


残念ながら、私はあなたができるとは思わない。 ただし、WebサーバーによってはPHPの設定を個別に変更できるものがあります。 mod_phpを使用するApacheにはphp_value設定があり、これをさまざまな仮想ホストに設定できます。IISにも似たようなものがあるかもしれませんが、よくわかりません。

http://us2.php.net/manual/en/function.set-include-path.php [set_include_path]は実行時にインクルードパスを上書きすることもできます。

P.S. TF2のエンジニア。