Как распарсить очень большой файл на PHP?
В зависимости от того что в файле можно рассматривать варианты работы через поток(stream).
Гуглится по этому слову собственно легко.
(xml || json || другой тип данных) streaming/stream parser/reader.
Это стандартное решение задачи с чтением файлов которые больше чем RAM.
Решение для нестандартных данных это построчное чтение или кусками через fread(т.е. тоже по сути единицы измерения это строки будут, иначе каша на выходе).
Если файл содержит супер странные данные, которые при этом неделимы и размазаны по строкам, то скорее всего увы. Либо писать свою вариацию потокового чтения и придумывать отправные точки для парсинга и навигации по файлу.
Я парсил xml дамп в 25гб добавление в базу, скрипт запускал 2 раза первый раз добавлял только id, как всё добавилось ребутал сервак, потом на основе имеющихся id в базе добавлял все остальное, железо было corei7 24гб озу, можно попробовать его разбить на несколько файлов по регулярке что бы структуру не нарушить, при разбивке писать в временный файлик строку на которой закончилась прошлая разбивка, в случае перегруза сервака можно будет начать с того же места