500 ошибок Ограничение памяти - только для использования ArrayCollecion в Twigu Symfony 4 - Linux Mint 19 - PullRequest
0 голосов
/ 24 февраля 2019

он пишет вам с проблемой, с которой я столкнулся впервые в жизни и которую я не понимаю.Итак, перейдем к делу: проблема возникает в Twigu Symfony 4, но я не совсем понимаю, что на самом деле верно ... но, вероятно, моя конфигурация работает на Linux Mint 19 php 7.3 (протестирована также на 7.3 и той же) apache2.Ошибка возникает только локально на тестовом сервере с гораздо большими ограничениями. Memory_limit не имеет такой ошибки.Локально эта ошибка проявляется в браузере Google Chrome, выдает ошибку на белом фоне. Сервер xyz.localhost теперь не может обработать этот запрос.HTTP ERROR 500 в то время как в логах я получаю:

[Sat Feb 23 20:26:17.700935 2019] [php7:error] [pid 2350] [client ::1:41434] PHP Fatal error:  Allowed memory size of 1153433600 bytes exhausted (tried to allocate 1071661056 bytes) in /var/www/xyz/vendor/twig/twig/lib/Twig/Extension/Debug.php on line 50, referer: http://xyz.localhost/ 
[Sat Feb 23 20:26:17.702800 2019] [php7:error] [pid 2350] [client ::1:41434] PHP Fatal error:  Allowed memory size of 1153433600 bytes exhausted (tried to allocate 1071669248 bytes) in /var/www/xyz/vendor/symfony/debug/ExceptionHandler.php on line 177, referer: http://xyz.localhost/

В php.ini я установил memory_limit на 512M, 1000M и на -1 (у меня 12 ГБ RAM на ноутбуке), и никакие настройки не помогли мнедобавить с тестовым сервером установить memory_limit = 64M и эта подстраница работает без проблем, проблема только возникает, и я отключаюсь локально.Я не храню базу данных локально, я использую точно такую ​​же базу данных, что и тестовый сервер (настройки в env идентичны), поэтому запросы к базе данных отправляются на внешний сервер.Существуют ли другие конфигурации в системе, которые могут повлиять на это?

Протестировав код, вызывающий эту ошибку, я определил, что все идет к

{% for data in dataInput['element_2'].getDataForThisElement() %}

, где getDataForThisElement () возвращает ArrayCollection,Если я вызову этот метод в Twig, он получит ошибку 500, если я сделаю это в контроллере, и я сделаю это для каждого элемента массива.Я могу легко сбросить эти данные, и в Twig они выливаются, даже если в массиве есть один элемент.Я специально создал базу, чтобы проверить, возникнет ли проблема, и в локальной базе данных проблема также возникает.Где мне искать решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...