PHP が現在の仮想ホストの Apache VirtualHost 構成ブロックを読み取り/解析して、特に ErrorLog と CustomLog の設定を取得することは可能ですか?
明確にするために、簡単に取得できる PHP エラー ログ パスは必要ありません。
phpinfo
または_SERVER/getenv()
または PHP Apache 関数 ( apache_module()
、apache_note()
、apache_getenv()
)の方法が見つかりませんでした
コードベースは複数のサーバー上の複数の仮想ホストに使用されるため、PHP (.htaccess
SetEnv
または一部の ini/csv/whatever ファイルなど) でApache アクセスおよびエラー ログのパスをハード コードすることはできません。が設定されています<VirtualHost>
- 運用部門の誰かが VirtualHost を更新する可能性がありますが、開発者はコードまたはコードが同じパスを見つけるために使用しているものを更新することはできません。CustomLog の行の下または上に同じ値を持つ SetEnv を持つことはできません。これは、一方が他方なしで更新される可能性があるためです (人的エラーなど)。
私の最善の希望はありapache_getenv()
ましたが、試してみましたが、apache_getenv('CustomLog')
何も返されません。
system()/exec()
それらを見つけるためにcli関数を実行する一連の呼び出しを実行しても問題ありませんが、理想的ではありません。
正規表現を含む別の仮想ホストがある可能性があるためServerName
、呼び出されている現在の仮想ホストと一致しないServerAlias
可能性があるため、Apache conf へのパスが見つかったら、ファイルを手動で grep することは理想的/信頼性がありません。
Apache 2.2.16 (Unix) PHP 5.3.3 CentOS リリース 5.5 (最終版)
明らかな何かを見逃していると教えてください;)