私のphpinfo.phpは、追加のPHP構成ファイル用の追加のフォルダーを表示していません。Apachev2.4.4(with PHP DSO)and PHPv5.4.14。ApacheおよびPHPインストールはソースからコンパイルされます。
PHPの構成オプション '--with-config-file-scan-dir = PATH'を使用していません。 (複数のフォルダーが必要になるため、使用しません)。
環境変数PHPRCとApacheディレクティブPHPIniDirは、メインのPHPファイルに関連しているため、環境変数 'PHP_INI_SCAN_DIR'を使用できます。以下の手順を実行しました。-
OS環境変数である「PHP_INI_SCAN_DIR」は、Apacheを起動する前に設定する必要があります。そこで、次のエントリを/etc/profile.d/php.shファイルに追加しました。
PHP_INI_SCAN_DIR = "/ usr/local/lib/php/custom" エクスポートPHP_INI_SCAN_DIR
次に、システムを再起動しました。
ここで、コマンド 'env | grep PHP '、' php -i | grep INI 'および' php --ini 'は、次の出力を提供します。
=>#env | grep PHP
PHP_INI_SCAN_DIR =/usr/local/lib/php/custom
=>#php -i | grep INI
PHP_INI_SCAN_DIR => /usr/local/lib/php/custom _SERVER["PHP_INI_SCAN_DIR"]=>/usr/local/lib/php/custom
=>#php --ini
構成ファイル(php.ini)パス:/ usr/local/lib ロードされた構成ファイル:/usr/local/lib/php.ini 追加の.iniファイルをスキャンしますで:/ usr/local/lib/php/custom 解析された追加の.iniファイル:(なし)
最初の試み
===================
Apache2/bin/envvarsファイルとApache2/bin/envvars-stdファイルの両方に次のエントリを追加しました。
(envvarsとenvvars-stdファイルの違いについてのコメントはありますか?)
PHP_INI_SCAN_DIR = "/ usr/local/lib/php/custom" エクスポートPHP_INI_SCAN_DIR
Apacheサービスを再起動しました。ただし、phpinfo.phpファイルの「このディレクトリをスキャンして追加の.iniファイルを探す」の値は空です。
2回目の試行
===================
そこで、envvarsとenvvars-stdからエントリを削除しました。モジュールmod_envがデフォルトでロードされています。 httpd.confに以下を追加しました。
SetEnv PHP_INI_SCAN_DIR "/usr/local/lib/php/custom"
Apacheサービスを再起動しました。 phpinfo.phpファイルの「このディレクトリをスキャンして追加の.iniファイルを探す」の値はまだ空です。
回目の試行
===================
繰り返しますが、httpd.confからエントリを削除しました。 httpd-vhosts.confのVirtualHostのディレクトリセクションに同じ行を追加しました。
SetEnv PHP_INI_SCAN_DIR "/usr/local/lib/php/custom"
Apacheサービスを再起動しました。 phpinfo.phpファイルの「このディレクトリをスキャンして追加の.iniファイルを探す」の値はまだ空です。
あなたの考えのいくつかに対する答え:
はい、私のphpinfo.phpファイルはphpinfo()のみで構成されています。静的ファイルではありません。
はい、ブラウザのキャッシュはクリーンアップされました。別のブラウザも試してみました。
ついに
だから、誰かが私のphpinfoファイルが追加のPHP構成ファイルのための追加のフォルダーを表示していない理由を教えてもらえますか?
前もって感謝します。
その環境変数を設定してApacheを起動する必要があります。 /etc/profile.d/php.sh
で変数を設定すると、それはPHP実行可能ファイル自体にのみ設定され、mod_php5では使用されません。
私はちょうどこのリガマロールを通り抜けました。 mod_php5がロードされた後に定義されるため、SetEnvを使用した変数の設定も機能しません。
CentOS 6.5では、/etc/sysconfig/httpd
を編集すると、Apacheプロセス自体の追加の環境変数を設定およびエクスポートできることがわかりました。そこで追加してみてください:
export PHP_INI_SCAN_DIR="/usr/local/lib/php/custom"