Het is niet direct PHP7-gerelateerd. Het probleem is te wijten aan nieuwe mysqlnd driver, dus u kunt hetzelfde probleem zelfs met PHP 5.x ervaren. Het is eigenlijk een bugfix, want zelfs voordat het geheugen nog was toegewezen, maar het telde niet mee voor memory_limit .
Om geheugenproblemen te voorkomen, moet u niet-gebufferde zoekopdrachten gebruiken voor de grote resultaten.
Dus, voor de query die een grote dataset verwacht, stel de juiste instelling als volgt in:
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
Voor meer informatie heb ik een fatsoenlijke uitleg in mijn PDO-tutorial , met dank aan Nikic, wiens kritische feedback van onschatbare waarde was.