Как перемешать строки в большом файле (до 1,5гб) средствами php?
Какие-то неправильные у вас пчёлы, $arr=explode(NL,file_get_contents($file)); - это плохо для любого языка, не только php, читать весь файл в память. 
Вот тут есть пример для перемешивания файла, без его полной загрузки, с использованием позиций строк.
Не мешайте весь файл целиком, разделите на адекватное количество частей.