$re = '/^.* (\[error]) .*(2: No such file or directory).*client: (?:::f{4,6}:)?(?P<host>\S+), .* request:.*(phpinfo|adminphp|admin|profiler|phpinfo|debug|apache|.env).*(HTTP\/1.1)/m';
$str = '2024/12/25 15:35:07 [error] 45469#0: *3152 open() "/var/www/html/.env" failed (2: No such file or directory), client: 66.63.187.168, server: _, request: "GET /.env HTTP/1.1", host: "23.43.19.64"';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php