3

私のサーバーはsuPHPを使用しているため、各Webサイトには独自のphp.iniファイルがあります。私のホストは、私の.htaccessファイルに以下を追加することを推奨しました。

<IfModule mod_suphp.c>
suPHP_ConfigPath /home/user/public_html
</IfModule>

これは基本的に、サイトのphp.iniファイルを指します。ただし、編集する必要のないすべてのサイトで標準の.htaccessファイルを作成しようとしています。基本的には、最初に使用した「ボイラープレート」サイトの一部です。上記をこれに変更しようとしました:

<IfModule mod_suphp.c>
suPHP_ConfigPath %{DOCUMENT_ROOT}/public_html
</IfModule>

しかし、これは機能しません。お分かりのように、私はおそらくこれがどのように機能するのか理解していません。誰かが上記のコードを手伝ってくれるので、各.htaccessファイルに正確なパスを入力する必要がなく、Apacheにphp.iniファイルへのパスを計算させることができますか?

それが理にかなっていることを願っています、説明するのは少し難しいです!

4

1 に答える 1

4

古いsuphp Qを一掃するだけです。 mod_suphpは標準のパラメーター パーサーを使用するため、原則として %{DOCUMENT_ROOT} が機能するはずです。ほぼ確実に発生する問題は、suPHP が一般に共有ホスティング ソリューションに使用され、これらの場合、ユーザーの有効な DOCUMENT_ROOT が、システム構成の DocumentRoot ディレクティブによって確立されたものと同じではないことです。

ほとんどのベンダーは、ユーザーのドキュメント ルートを指すように環境変数を設定しています。私のホストは DOCUMENT_ROOT_REAL をセットアップします。私が遭遇した別のホストは PHP_DOCUMENT_ROOT です。あなたの場合に何が当てはまるかを確認するには、phpinfo() レポートを確認する必要があります。だから私の.htaccessでは、私は使用します

suPHP_ConfigPath %{ENV:DOCUMENT_ROOT_REAL}/_private

それは私にとってはうまくいきます。

于 2012-03-06T16:10:08.577 に答える