php - findAll() 允许的内存大小 Symfony 4
问题描述
我的数据库中只有 1 行,当我将此代码放在我的 AnnouncementController 上时,我有一个 500 错误页面。
public function search(AnnouncesRepository $announcesRepository){
$announces = $announcesRepository->findAll();
return $this->render('announces/search.html.twig', ['announces' => $announces]);
}
日志:
2019-01-22T12:47:53+00:00 [info] Matched route "announcement_search".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber::onKernelRequest".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\HttpCacheListener::onKernelController".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController".
2019-01-22T12:47:53+00:00 [debug] Notified event "kernel.controller_arguments" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\IsGrantedListener::onKernelControllerArguments".
2019-01-22T12:47:53+00:00 [debug] SELECT t0.id AS id_1, t0.society_id AS society_id_2, t0.job AS job_3, t0.city AS city_4, t0.desired_city AS desired_city_5, t0.slug AS slug_6, t0.user_id AS user_id_7, t0.created AS created_8, t0.description AS description_9, t
0.user_id AS user_id_10 FROM announces t0
[Tue Jan 22 13:47:54 2019] 127.0.0.1:56133 [500]: /rechercher - Allowed memory size of 134217728 bytes exhausted (tried to allocate 65028096 bytes) in C:\wamp64\www\permutation\permutation\vendor\twig\twig\lib\Twig\Extension\Debug.php on line 50
2019-01-22T12:47:54+00:00 [critical] Fatal Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65028096 bytes)
它仅在我使用 find($id) 或 findOne 时有效。
感谢帮助 !
编辑 :
{% for announce in announces %} {{ dump(announce) }} {% endfor %}
我清除了缓存,是的,增加内存不是个好主意,我只有 1 行!在我的模板中,我也尝试了转储宣布,但我有同样的错误。如果我删除转储,我有任何错误。
解决方案
public function search(AnnouncesRepository $announcesRepository) {
ini_set('memory_limit', '-1');
$announces = $announcesRepository->findAll();
return $this->render('announces/search.html.twig', ['announces' => $announces]);
}
或 php.ini ->memory_limit = 1024M
推荐阅读
- node.js - Stripe webhook 错误:未找到与有效负载的预期签名匹配的签名
- python - 如何在python中更改字符串列表中的字符串
- google-play - 如何在 Apple App Store 和 Google Play Store 中设置相同的价格?
- html - 如何将图像网格放入引导卡
- javascript - 在 webpack 中更好的 TreeShaking 的正确方法是什么?
- ios - 如何从 JSON iOS swift 中解决字符周围的未终止字符串或字符周围的无效字符串?
- c# - 如何根据字符串值使用 UWP Frame.Navigate()
- c - 在一个套接字上接收来自多个组的多播流量时出现问题
- javascript - 注册或未注册 HTML 自定义 URL 方案检测
- java - Android后台HTTP请求不起作用?