Я использую средство отладки в приложении, которое использует var_dump()
с буферизацией вывода для захвата переменных и отображения их. Тем не менее, я столкнулся с проблемой с большими объектами, которые в конечном итоге используют слишком много памяти в буфере.
function getFormattedOutput(mixed $var) {
if (isTooLarge($var)) {
return 'Too large! Abort!'; // What a solution *might* look like
}
ob_start();
var_dump($var); // Fatal error: Allowed memory size of 536870912 bytes exhausted
$data = ob_get_clean();
// Return the nicely-formated data to use later
return $data
}
Есть ли способ предотвратить это? Или обход, чтобы обнаружить, что он собирается выводить гигантское количество информации для определенной переменной? Я действительно не контролирую, какие переменные передаются в эту функцию. Это может быть любой тип.