允许的内存大小在异常Symfony中耗尽

允许的内存大小在异常Symfony中耗尽,symfony,Symfony,我在生产服务器日志中每分钟至少出现20次此错误 当访问人数达到50人时,我的网站正在下降 有什么建议吗 [Fri Dec 14 23:52:32.339692 2018][错误][pid 12588][客户 81.39.153.171:55104]PHP致命错误:内存中允许的内存大小536870912字节已用尽(尝试分配32字节) /供应商/symfony/symfony/src/symfony/Component/Debug/Exception/flatteexception.php 第269

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

当访问人数达到50人时,我的网站正在下降

有什么建议吗

[Fri Dec 14 23:52:32.339692 2018][错误][pid 12588][客户 81.39.153.171:55104]PHP致命错误:内存中允许的内存大小536870912字节已用尽(尝试分配32字节) /供应商/symfony/symfony/src/symfony/Component/Debug/Exception/flatteexception.php 第269行


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

您的限制是512MB,但仍然不够,因此只剩下一些可能性

首先检查日志,查看这些错误是否与任何特定URL关联

(如果您没有足够的日志记录,我建议使用Rollbar,它有一个独白处理程序,只需几分钟就可以完成。它也是免费的。)

你提到了访客数量。。。我不确定这是否与此有关。您使用的是哪种Web服务器

检查常见的嫌疑犯:

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

在您的产品中,您不需要调试组件,以减少内存使用composer--无需开发--无需交互--优化autoloader。
如果可以通过ssh访问服务器,请检查内存消耗。
我的建议是,如果您同时有50名访问者,这是升级服务器的好时机。

另外,您可以尝试减少最大执行时间以打开更多内存。

我的问题是,为什么Symfony在我的生产环境中使用调试组件?如果您不将--no dev放入composer,它也会自动安装开发库。这没关系,但为什么Symfony使用app.php而不是app\u dev.php?可能有两个原因,在app.php中,如果appKernel在env之后标记为true,则其平均调试为true。甚至它可以调试它的fallied false,但自动加载程序正在加载所有已安装的供应商。添加
set:composer\u install\u标志,'--no dev--no interaction--quiet--optimize autoloader'
到我的capistrano部署文件中,它解决了这个问题。谢谢