Я получил следующее сообщение об ошибке в моих журналах ошибок php:
Неустранимая ошибка PHP: допустимый объем памяти 1073741824 байта исчерпан (попытка выделить 5 байтов) в /lib/Zend/Db/Statement/Pdo.php в строке 284
Однако мне нужна полная трассировка стека, есть идеи, как ее получить?
Похоже, ваш конфиг PHP (php.ini
) не позволяет использовать более 1 ГБ памяти, что очень важно для сценариев PHP.
Убедитесь, что вы не выполняете бесконечный цикл. Когда выполняется бесконечный цикл с большими файлами или большими запросами к базе данных, может случиться так, что память заполнится до того, как скрипт перестанет работать max_execution_time
ошибка.
Если ваш провайдер позволяет, Вы можете расширить использование памяти дать это ini_set("memory_limit","2G")
или больше, если необходимо (не рекомендуется).
если вы действительно хотите отлаживать это, используйте php «self-debuggers» в этом случае, введите
echo "<pre>".print_r(debug_backtrace(),true)."</pre>";
exit;
до того, как произошла ошибка, отображается полное дерево стека с аргументами, методами, …
Вы также можете сохранить вывод debug_backtrace()
в вар и обрабатывать это самостоятельно.
Вы можете увидеть Xdebug с трассировкой стека.