PHP — разрешенный объем памяти исчерпан (Zend Framework Expressive)

В настоящее время я борюсь из-за нового действия в моем проекте Zend Expressive. Может кто подскажет, где посмотреть? Я попытался закомментировать весь код в новом действии, но всегда получаю следующую ошибку для маршрута этого нового действия.

Кто-нибудь может мне помочь? Я предоставлю еще немного кода, если вам нужно. Большое спасибо!!!

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 262144 bytes) in D:\Apache24\htdocs\vendor\zendframework\zend-servicemanager\src\ServiceManager.php on line 200

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0

person moTHO.    schedule 04.04.2017    source источник
comment
Попробуйте добавить ini_set('memory_limit', '-1'); в начало файла .php, что, вероятно, заставит его работать. Но было бы неплохо поискать дальше, просто к вашему сведению.   -  person Antonios Tsimourtos    schedule 04.04.2017
comment
Это не настоящее исправление, это просто приводит к тому, что мой веб-сервер будет использовать все свои 8 ГБ оперативной памяти.   -  person moTHO.    schedule 04.04.2017
comment
Вы сказали, что добавили новое действие. Либо оперативной памяти недостаточно, либо вы можете найти другой способ делать то, что вы делаете, который будет лучше обрабатывать его. Это действие большое дело? Например, если он обрабатывает большие файлы, вам потребуется больше памяти. Вот так и должно быть. Вы можете установить ini_set('memory_limit', '1024M');. Если 8 ГБ недостаточно, вам следует обновить систему, в противном случае удалите эту функцию.   -  person Antonios Tsimourtos    schedule 04.04.2017
comment
На самом деле это не имеет большого значения, он должен просто доставить html-ответ с шаблоном (без какого-либо рендеринга или чего-то еще)   -  person moTHO.    schedule 04.04.2017
comment
Прочтите это в разделе 2. Возможно, как вы это обрабатываете вызывает эту ошибку.   -  person Antonios Tsimourtos    schedule 04.04.2017
comment
Вы должны смотреть в свой код и в свой профилировщик.   -  person symcbean    schedule 04.04.2017
comment
Спасибо, ребята, я нашел ошибку: Моя classfactory была настроена неправильно и все время пыталась загрузить себя :D Тупое автодополнение :(   -  person moTHO.    schedule 04.04.2017


Ответы (1)


Недостаток оперативной памяти не был моей проблемой.

Я сделал очень большую ошибку в моем ConfigProvider. Вместо объявления фабрики следующим образом:

DashboardAction::class => DashboardActionFactory::class,

Я по ошибке просто написал:

DashboardAction::class => DashboardAction::class,

Это был своего рода бесконечный цикл, который объясняет переполнение памяти.

person moTHO.    schedule 04.07.2017