Man kann per Stream in PHP beim verarbeiten der Daten sehr große Log-Dateien, die mehrere GB groß sind, sehr leicht analysieren mit Hilfe von Stream Compression Filter.
Damit kann die Datei ohne sie komplett in den Speicher laden zu müssen entpackt und analysiert werden beim Einlesen der Datei.
Dadurch kann man während des einlesens der Log-Datei schon nach beliebigen Stellen im Code suchen:
$file = 'X:/file.log.bz2'; $searchString = '2017-01-01'; if(file_exists($file)){ $handle = fopen($file, 'r'); stream_filter_append($handle, 'bzip2.decompress'); while(!feof($handle)){ $line = fgets($handle); if(strpos($line, $searchString) !== false){ echo $line; } } fclose($handle); }