web-dev-qa-db-ja.com

「SetEnv PHPRC」は何をし、どのように使用されますか?

私は、ファイルを見て、それらがどのように機能するかを理解するのが好きな、いくつかの技術的なスキルを持つクライアントを持っています。

昨日、Ninja FirewallをWordPressにインストールし、Webホストサーバーのセットアップには.htaccessファイルのphp.iniパスへのSetEnv PHPRCが必要です。 SetEnv PHPRCの説明を平易な英語でクライアントにお願いしたいのですが、私の研究ではこれが少ししか出てこなかったので、明確な説明はありません。

PHPRCはphp.iniの代わりです...

私はそれが少し違うものだと思います(「phprc」ファイルの作成に関して-ローカルPHP構成ファイル-DreamHost AFAIKに固有のもの)?

PHPRC(PHPランタイム構成)環境変数は、メインのphp.iniファイルの場所をPHPに伝える1つの方法です。 changeメインphp.iniファイルの場所に使用されることがあります。
参照: http://php.net/configuration.file

一部のホストでは、PHPRC環境変数を使用して、ローカル(サイトごと)php.ini PHP構成ファイルを設定することもできます。 (そうでない場合、共有ホストphp.iniの場所を変更しようとしても、環境変数の設定以外は何もしません。)これは、ローカルの.user.iniファイルや.htaccessを使用しても実現できます-これはホストごとに異なります。

ApacheディレクティブSetEnvmod_envの一部)は、この環境変数を設定するだけです。 PHPRCは、これらの環境変数を読み取るスクリプト言語で使用できます。

NinjaFirewallにこれが必要なのはなぜですか?

NinjaFirewall docs 状態:

インストール...NinjaFirewallは、システムファイル(php.ini、.htaccess)にいくつかの指示を追加する必要があります。ほとんどの場合、設定を検出し、それらの変更を行うことができます

私の推測では、NinjaFirewallには変更を加えるためのローカル(php.ini)の設定ファイルが必要だと思います。または、あまりありませんが、PHPRC env varを設定して、php.iniファイルの場所を見つけて編集できるようにする必要があります。 (設定されている特定のパスはこれを教えてくれます...それはあなたのウェブスペース内のパスですか?それともファイルシステム上のどこか?)

このWordPress.orgスレッドで述べられている でもあります:

.htaccessのSetEnv PHPRCディレクティブは、再帰的ではない、つまりサブディレクトリに適用されないphp.iniを使用している場合にのみ必要です。

それは私にはあまり意味がないようですが? (php.iniが「再帰的」でない場合、最初にphp.iniを使用するとは思わないでしょうか?)

参考文献:

4
MrWhite