You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento多站点登录触发内存耗尽错误求助

解决Magento多站点登录内存耗尽及Cookie相关问题

看到你遇到的问题:部分客户点击登录按钮后等待数分钟,触发内存耗尽错误:

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in /lib/Zend/Db/Adapter/Abstract.php on line 1015

且同部署下其他域名站点正常,修改Cookie域名无效、改存储路径后直接跳转回登录页——这种多站点环境下的会话/Cookie冲突确实很常见,给你梳理几个实战性的排查修复步骤:

一、先定位内存耗尽的真实原因

1GB的内存限制不算低,出现耗尽大概率是会话处理时的循环或低效查询导致的:

  • 临时调高内存并追踪日志:在站点根目录的index.php顶部添加以下代码,先让请求能完成,方便查看错误详情:
    ini_set('memory_limit', '2G');
    Mage::log('Login request debug', null, 'login_debug.log');
    
    尝试登录后,查看var/log/login_debug.log和exception.log,看是不是在处理core_session表或Cookie时出现了无限循环。
  • 检查数据库会话表:登录到服务器数据库,执行SELECT COUNT(*) FROM core_session;,如果记录数超过10万,大概率是过期会话未清理导致的查询过载。

二、修复Cookie配置的核心问题

你修改Cookie域名无效,大概率是缓存没清或者配置逻辑错了:

  • 强制清除所有缓存:不仅要在Magento后台清理缓存(System > Cache Management),还要手动删除var/cache目录下的所有文件,以及服务器的OPcache缓存(可以通过php -r "opcache_reset();"重置)。
  • 严格配置多站点Cookie域名:每个站点的Cookie域名必须对应自身的根域名,比如站点A是store1.example.com,就设为.store1.example.com(前面的点很重要,确保子域名也能识别);绝对不能给所有站点设置同一个Cookie域名,这会导致会话跨站点冲突。
  • 恢复默认Cookie路径:先把Cookie路径改回默认的/,自定义路径很容易导致会话无法被识别,进而触发反复初始化的问题。

三、调整会话存储方式

Magento默认用数据库存会话,多站点环境下容易出问题:

  • 临时切换到文件存储:进入后台System > Configuration > Web > Session Cookie Management,将Session Storage改为Files,保存后清缓存测试登录。如果问题解决,说明数据库会话表存在性能瓶颈。
  • 清理会话表数据:如果坚持用数据库存储,先备份core_session表,然后执行TRUNCATE TABLE core_session;,清空过期会话数据,减少查询负担。

四、排查第三方扩展的干扰

第三方扩展是多站点会话问题的高发区:

  • 批量禁用非核心扩展:在后台System > Configuration > Advanced > Advanced里,禁用所有非Magento核心的扩展,然后测试登录。如果恢复正常,再逐个开启扩展排查,找到冲突的那个。
  • 检查扩展的多站点配置:有些登录类扩展(比如社交登录、SSO)需要针对每个站点单独配置会话参数,确保每个站点的扩展配置都正确适配了自身域名。

五、服务器端的补充检查

  • 验证PHP版本兼容性:确保你的PHP版本和Magento版本匹配,比如Magento 1.9.x推荐用PHP 5.6或7.0,高版本PHP可能会在会话处理上有兼容性问题。
  • 检查全局PHP会话配置:查看服务器的php.ini文件,确认session.cookie_domain、session.save_path等参数没有被全局配置强制覆盖,导致Magento的设置不生效。

我之前处理过好几起类似的多站点Cookie冲突案例,大部分都是Cookie域名配置错误或者会话表数据过载导致的,按照上面的步骤一步步排查,应该能快速解决问题。

内容的提问来源于stack exchange,提问作者Alexander Zelenchuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:55:08