13.13 Die Protokolldatei eines Webservers analysieren

Problem

Sie möchten Berechnungen auf der Grundlage von Informationen durchführen, die sich in der Zugriffs-Protokolldatei Ihres Webservers befinden.

Lösung

Öffnen Sie die Datei und verarbeiten Sie die Zeilen mit Hilfe regulärer Ausdrücke, die dem Format der Protokolldatei entsprechen. Der folgende reguläre Ausdruck passt zum NCSA Combined Log Format:

$pattern = '/^([^ ]+) ([^ ]+) ([^ ]+) (\[[^\]]+\]) "(.*) (.*) (.*)" ([0-9\-]+)
    ([0-9\-]+) "(.*)" "(.*)"$/';

Diskussion

Das folgende Programm liest dem NCSA Combined Log Format entsprechende Zeilen und zeigt eine Liste von Seiten an, die nach der Anzahl der Anfragen pro Seite sortiert ist:

$log_file = '/usr/local/apache/logs/access.log'; $pattern = '/^([^ ...

Get PHP 5 Kochbuch now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.