Как сериализовать слишком большой объект и не исчерпать память

В процессе обработки ошибок я сбрасываю $obj_to_log = print_r($obj,true) вывод в мои журналы ошибок (файл / db / redis).
Иногда $ obj слишком велик, и в этот момент происходит сбой (поскольку это по сути дублирует объем памяти, удерживаемый объектом).
Есть ли способ, которым я могу сбросить такие большие объекты в файл (кроме постоянно увеличивающейся памяти).
Объект, который в настоящее время вызывает у меня проблемы, — сторонняя библиотека, я не могу изменить / оптимизировать сам объект.

Хотя в настоящее время проблема вызвана только одним объектом, мне нужно, чтобы моя обработка ошибок была надежной и могла обрабатывать любой объект, но не все из них (объекты в мире) имеют __tostring или другие механизмы сообщения об ошибках.

Причина, по которой я сериализую объект в переменную, — это причина реализации, я собираю информацию в одном месте и записываю в соответствующий тип журнала в другом месте. Я думаю, что я могу решить эту проблему, передав функцию, которая генерирует информацию в соответствующий класс логгера, а не только данные.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]