CustomLog /pfad/zum/access_log | /pfad/zum/php_script
Hi ob das so funktioniert weis ich nicht, dass hab ich noch nie probiert, aber da du ja schon mal leere Zeilen in deine DB bekommen hast, lässt das ja hoffen 😉
IP = $_SERVER['argv'][1];
Hier fehlt schon mal ein $-Zeichen also $IP und da du das ganze als Pipe an das PHP-Skript übergibst, gehe ich davon aus das es sich bei deinem Skript um ein PHP-CLI-Skript handelt. In diesen Skripten gibt es keine $_Server-Variablen. Dies ist wahrscheinlich auch der Grund, warum deine Zeilen leer sind. Die Zeile sollte also eher so aussehen:
$IP = $argv[1];
Hier noch eine Anmerkung zu deinem Insert. Ich denke mal das du die id-Spalte als AUTO_INCREMENT angelegt hast. Wenn du dies gemacht hast, dann kannst du dir an dieser Stelle normaleweise das id und ersten Hochkommas schenken, also statt
$query = "INSERT INTO `access` ( `id` , `ip` , `user` , `time` , `url` , `os` , `browser` , `referrer` ) VALUES ('', '$IP', '$user', '$time', '$url', '$os', '$browser', '$referrer')";
lieber so
$query = "INSERT INTO `access` ( `ip` , `user` , `time` , `url` , `os` , `browser` , `referrer` ) VALUES ('$IP', '$user', '$time', '$url', '$os', '$browser', '$referrer')";
Hoffe ich konnte dir helfen, gib mal rückinfo ob's geklappt hat.