What are some best practices for optimizing PHP code when searching for multiple strings in a large log file?

When searching for multiple strings in a large log file in PHP, it is important to optimize the code for performance. One way to do this is by reading the log file line by line and using regular expressions to match the strings efficiently. Additionally, using a caching mechanism to store the results of previous searches can help reduce the processing time.

<?php
// Open the log file for reading
$logFile = fopen('large_log_file.log', 'r');

// Array of strings to search for
$searchStrings = ['error', 'warning', 'exception'];

// Loop through each line in the log file
while (!feof($logFile)) {
    $line = fgets($logFile);
    
    // Check if the line contains any of the search strings
    foreach ($searchStrings as $searchString) {
        if (preg_match("/$searchString/", $line)) {
            echo "Found '$searchString' in line: $line";
        }
    }
}

// Close the log file
fclose($logFile);
?>