̃Gg[͂ĂȃubN}[Nɒlj

apache :: PHPプログラム(スクリプト)の変数値をログに出力する



例えば、ある画面で複数のバナー広告をランダム表示しているとして、それらの各バナーの表示回数を集計する必要に迫られたとする。
対応方法として、phpスクリプト内で独自にカウントするロジックを組んでもよいが、apacheのログを利用する手もある。(こちらの方がお手軽)
具体的には、各バナーにIDを振っておき、表示時にIDをログに吐くように設定する。
集計の際は、grep コマンドと wc コマンドを組み合わせて、IDをカウントすればよい。


phpプログラム(スクリプト)

apache_setenv('BANNER_ID', $banner_id);

変数「$banner_id」にはランダムで割り当てられた、バナーのIDが格納されている。


httpd.conf

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{BANNER_ID}i\"" combined

phpで設定された環境変数「BANNER_ID」を出力する


集計コマンド例

% grep BANNER_001 /var/log/apache/access.log | wc -l

バナーID「BANNER_001」を集計




server/apache/customlog/apache_setenv.txt