Я пытаюсь захватить некоторые данные базы данных через ajax в моем проекте symfony. Я взял все оценки в нашей базе данных, и их более 60 тыс. Когда я пытаюсь и json_encode результаты, я получаю ошибку из памяти. Я знаю, что это связано с размером, потому что я могу json_encode получить один результат, и он возвращает штраф.Обработка данных, которые слишком велики для json_encode (PHP)
$results = new \stdClass;
$results->jobs = $epms->getEstimates();
// JSON encode results to send to the view. The view just echos them out for jQuery to process.
$json_encoded = json_encode($results->jobs[1]); //Works
$json_encoded = json_encode($results->jobs); //Doesn't work
$headers = array(
'Content-Type' => 'application/json'
);
$response = new Response($json_encoded, 200, $headers);
return $response;
Я PHP нуб, но моя идея была разделить результаты и кодировать мелкие куски, которые я мог бы присоединиться вместе, прежде чем вернуться к моему AJAX вызову. Каков наилучший подход к этому? Я не хочу увеличивать лимит памяти php.
динамически увеличивать память с помощью 'ini_set ('memory_limit', '16M');' –
Он работает, если я установил его в ini_set ('memory_limit', '512M'); Должен ли я динамически менять его обратно на что-то меньшее после его запуска? –
Нет, он будет работать только для текущего выполнения страницы. Так что не нужно беспокоиться –