例えば、ある画面で複数のバナー広告をランダム表示しているとして、それらの各バナーの表示回数を集計する必要に迫られたとする。
対応方法として、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」を集計