Magento内存泄漏


Magento memory leak

我的magento 1.6.1.0站点上遇到了一些问题,看起来像是内存泄漏。服务器完全关闭了几次,因为我在共享服务器上,我的托管公司对我不太满意,并威胁要禁止我的网站进入他们的服务器,因为他们说这对整个服务器构成威胁。

当服务器在服务器日志中关闭时,我们可以先读取:NY-SH-02 suhosin[31654]:警报 - efree() 上的金丝雀不匹配 - 在0x7f7567b90e58检测到堆溢出(攻击者"未设置REMOTE_ADDR",文件"/var/www/sites/mysite.com/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php",第 119 行)大约 78 行,同时显示确切的消息

系统写入间隔 1 次NY-SH-02 suhosin[30574]:警报 - efree() 上的金丝雀不匹配 - 在0x7f7567b90e58检测到堆溢出(攻击者"未设置REMOTE_ADDR",文件"/var/www/sites/mysite.com/lib/Zend/Controller/Response/Abstract.php",第 586 行)

半分钟后,以下消息出现NY-SH-02 suhosin[32532]:警报 - 脚本试图将memory_limit增加到高于允许值的 536870912 字节(攻击者"ip-adress",文件"/var/www/sites/mysite.com/index.php",第 2 行)

这一行看起来像 50 次,但具有不同的 php 文件,但总是说第 2 行

定义为攻击者的最后一个警报行中的 IP 地址有时不同,2 次是谷歌机器人,2 次是不同的 IP。

以前有没有人遇到过这个问题,或者知道我必须从哪里开始寻找,因为这是干草堆里的一根针。

这与其说是内存泄漏,不如说是Magento具有显着的内存要求。我不是安全专家,但我知道suhosin是一个PHP扩展,旨在加强PHP的安全性。 它似乎在抱怨

  1. PHP 的内存限制正在耗尽,它将其解释为攻击。

  2. PHP 文件正在使用 ini_set 将内存限制提高到 536870912 字节,确切地说是 512MB。

您的共享主机

没有足够的内存分配给每个共享主机实例,以便Magento运行。 如果用户点击具有大量非缓存项的页面,Magento可以暂时使用200 MB,300 MB甚至400 MB的内存。 在结帐期间,Magento故意重建与订单相关的缓存,以确保它获得最新的项目 - 快速修复它以提高内存限制,这可能是正在发生的事情#2

您需要一个宣传Magento支持的主机。