Я заметил, что с тех пор, как я обновился до PHP7, некоторые операторы SQL больше не работают и, вместо этого, исчерпали память.
У меня есть этот код:
$query = Yii::$app->db->createCommand('select * from tbl_title')->query();
while ($row = $reader->read()) {
var_dump($row);
exit();
}
И абстракция базы данных Yii2 - это очень тонкий слой над PDO и не делает ничего лишнего. query()
ничего не делает, кроме добавления строки в файл журнала (Yii2) для профилирования и reader->read()
просто вызывает функцию потока PDO fetch()
.
Но у него заканчивается память с указанием размера (пробела) моей таблицы, т.е. попытки выделить 385 МБ памяти процесса:
Разрешенный размер памяти 134217728 байт исчерпан (пытался выделить 385883840 байт)
Как гаечный ключ, если я использую запрос, чей результирующий набор полностью соответствует пределу 128 МБ процесса PHP.
Итак, изменился ли PHP7 и я могу его изменить?