У меня есть страница в Symfony2, которая отображает список результатов поиска в таблице. Я использую библиотеку JS gridify для отображения результата, поэтому у меня нет проблем с браузером, но с Symfony2.Symfony2: память, израсходованная в рендерере
Когда у меня есть много результатов (например, 40 000), у меня есть исключение
php.CRITICAL: Fatal Error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 59233802 bytes)
выброшен из PhpEngine-> оценки, которая делает:
ob_start();
require $this->evalTemplate;
$this->evalTemplate = null;
return ob_get_clean();
Исключение памяти на ob_get_clean встречается,. Я думаю, что включенный шаблон слишком велик, чтобы его можно было включить. Предел памяти в настоящий момент равен 512 М, я не хочу его увеличивать еще раз (но с 1024 М у меня больше нет проблем).
Есть ли какой-либо способ (правильный или нет) в Symfony2 обходить его?
Память - это жесткий предел. Вы не можете обойти его, но если вы поделитесь тем, как вы создаете свой набор результатов, возможно, его можно будет оптимизировать. В конце концов, убедитесь, что вам действительно нужно 40 000 результатов сразу. Как бы то ни было, я думаю, что этот вопрос слишком широк. – k0pernikus
Вы должны сделать paginate результат – smarber