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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.