Nie jest bezpośrednio związany z PHP7. Problem jest spowodowany nowym mysqlnd sterownik, więc możesz doświadczyć tego samego problemu nawet w PHP 5.x. W rzeczywistości jest to naprawa błędu, ponieważ nawet zanim pamięć była nadal alokowana, ale nie liczyła się ona do memory_limit .
Aby uniknąć problemów z pamięcią, musisz używać zapytań niebuforowanych dla dużych zestawów wyników.
Tak więc dla zapytania, które oczekuje dużego zestawu danych, ustaw odpowiednie ustawienie w następujący sposób:
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
Do dalszej lektury mam przyzwoite wyjaśnienie w moim samouczku dotyczącym PDO , dzięki Nikic, którego krytyczne opinie były bezcenne.