Обложка канала

Laravel World

Обучение программированию на php-фреймворке Laravel.

Laravel World

4 года назад
Открыть в
В Laravel 9.17 и 8.83.16 исправлена обработка ошибок. Если PHP-процесс превышает настроенный лимит выделенной памяти, то выбрасывается фатальная ошибка:
Allowed memory size of XXX bytes exhausted (tried to allocate YYY bytes)

Ранее, в подобных случаях, процесс просто завершался без указания причины ошибки. Это было связано с тем, что обработчик register_shutdown_function() пытался создать экземпляр FatalError, но не мог этого сделать из-за нехватки памяти. Сейчас фреймворк очищает зарезервированную память перед созданием экземпляра, гарантируя, что процесс будет иметь достаточно памяти для правильной обработки ошибки. Объём зарезервированной памяти увеличен c 10k до 32k, так же как и ранее это сделали в Symfony.