Leer las últimas líneas de un fichero en PHP

La verdad que pensaba que esto era más simple, pero por lo que he estado investigando no existe una forma de leer directamente las N últimas líneas de un fichero sin tener que iterar sobre él. Aquí adjunto una función que podemos usar para hacerlo de forma óptima con ficheros grandes:

public function getLastLines(string $path, int $nLines): string
{
	$lines = [];
	$fp = fopen($path, "r");
	while(!feof($fp)) {
		$line = fgets($fp, 4096);
		array_push($lines, $line);
		if (count($lines) > $nLines) {
			array_shift($lines);
		}
	}
	
	fclose($fp);
	return join("\n", $lines);
}