FlattenException Symfony中耗尽了允许的内存大小

时间:2018-12-14 22:57:28

标签: symfony

我的生产服务器日志中每分钟至少出现20次此错误。

当访问者人数达到50左右时,我的网站瘫痪了。

有什么建议吗?

  

[2018年12月14日星期五23:52:32.339692] [:错误] [pid 12588] [客户端   81.39.153.171:55104] PHP致命错误:在以下情况下,已用尽的内存大小为536870912字节(尝试分配32字节)   /vendor/symfony/symfony/src/Symfony/Component/Debug/Exception/FlattenException.php   在第269行

2 个答案:

答案 0 :(得分:1)

在生产中,您无需调试组件,即可通过--no-dev --no-interaction --optimize-autoloader减少使用composer的内存。
如果可以通过ssh访问服务器,请检查内存消耗。
我的建议是如果您同时有50位访问者,那么这是升级服务器的好时机。
另外,您可以尝试减少max_execution_time来打开更多内存。

答案 1 :(得分:-1)

这个问题很模糊,所以这是不准确的...

您的限制为512 Mb,但仍然不够,因此只留下了很少的可能性。

首先检查日志以查看这些错误是否与任何特定的URL相关。

(如果您没有足够的日志记录,我建议您使用Rollbar,它具有一个monolog处理程序,只需几分钟即可进行连线。它也是免费的。)

您提到了访客人数...我不确定是否与此有关。您使用哪种网络服务器?

检查通常的嫌疑犯:

  • 无限循环,没有退出条件的递归。
  • 大文件(主要是上传和下载)
  • 具有复杂查询和高限制的统计模块也是检查的好地方。