Memcache 打开后 Magento 会话消失

2024-02-06

我们遇到一个问题,当我们启用 memcache(在 nginx Web 服务器上)时,会话会从 Magento 1.10 中随机消失。

我们在 Magento 中设置 cookie 过期时间似乎并不重要,由于某种原因,会话在一小时内的任何随机时间都会消失。

如果我们关闭内存缓存,它就可以正常工作。

我们最终将需要多个服务器连接到一个基于会话的缓存解决方案,因此 memcache 似乎是唯一的选择。此外,我们现在仅在内存缓存中缓存会话,当我检查内存缓存统计信息时,我们远未接近阈值限制。

这是内存缓存设置local.xml:

<cache>
    <type>memcached</type>
            <path/>
            <servers>
                <localhost>
                    <host><![CDATA[127.0.0.1]]></host>
                    <port><![CDATA[11211]]></port>
                    <persistent><![CDATA[1]]></persistent>
                </localhost>
            </servers>
</cache>
<session_save><![CDATA[memcache]]></session_save> <!-- db / memcache / empty=files -->
<session_save_path><![CDATA[tcp://localhost:11211?persistent=0&weight;=2&timeout;=10&retry;_interval=10]]></session_save_path>
<session_cache_limiter><![CDATA[private]]></session_cache_limiter>

整个事情的困难部分是,当会话在一小时内消失时,很难重现。有时在一分钟之内,有时45...

我们这里有几个人在多个虚拟服务器系统中的所有不同浏览器中进行了尝试(以消除冲突),他们似乎都清楚同样的时间。

现在逻辑表明,有一个进程正在刷新内存缓存,但我不知道如何测试它,如果我这样做了,如何知道是什么清除了它。我查看了 Magento 代码,但找不到任何看起来像是清除此内容或从内存缓存中删除会话的内容。

但我确实发现,会话消失后,“前端”cookie 仍保留在浏览器上,当我签入内存缓存板时,cookie 就消失了。

并非所有键/值都从内存缓存中消失,在本例中只是其中一部分。我的和另外两三个人由于某种原因完全失踪了。

现在,我要问的是,不仅有人遇到过这个问题,而且有人对尝试什么有任何其他想法吗?

我一直在使用(著名的)memcache.php 文件来监视服务器上的 memcache 系统。我可以尝试其他想法/应用程序吗?


这可能是也可能不是你的问题,但这是我的问题。将其放在这里,因为其他人可能会发现它有用。

Memcached 不太容易使超过 30 天(2592000 秒)的时间过期。显然,它会将大于该数字的数字解释为自纪元以来的日期,并立即使项目过期。

Magento 的 local.xml 的 session* 元素设置 PHP 环境变量。 local.xml 中未设置的任何相关 PHP 环境变量均从 php.ini(或其他 .ini)中设置。

So:

在 php.ini 中,如果 session.gc_maxlifetime 设置为高于 2592000,您将得到一个不工作的 memcached。

因此,将 php.ini 中的行更改为以下内容:

session.gc_maxlifetime = 2592000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Memcache 打开后 Magento 会话消失 的相关文章

  • 以编程方式将 Magento 订单标记为完整

    当我从第三方服务收到特定响应时 我尝试将 处理 订单标记为 完成 我已经为此做好了一切设置 但唯一的问题是订单仍处于处理状态 我正在生成发票 不过我认为我不需要这个 因为每个项目在 Magento 后端都被标记为 已开票 和发货 如下所示
  • Memcached set() 失败:写入失败

    因此 Memcached 无法写入某些键 getResultMessage 说WRITE FAILURE我在设置中使用它 this gt mmcache new Memcached this gt mmcache gt addServer
  • 是否有管理 __utma、__utmz 等 cookie 的标准?

    无论我登录 Facebook 还是 Twitter 我都会受到以下名称的 cookie 轰炸 utma utmb utmc utmv 它们的功能是什么 是否有一个标准来管理这些在服务器端的使用方式 这些 cookie 通常与谷歌分析 htt
  • memcache、redis 和 ehcache 作为分布式缓存框架的比较 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要做出的决定之一是在我的系统中使用什么缓存框架 有这么多可供选择 我目前正在研究 redis ehcache 和 memcached
  • gwt rpc 中的会话 ID cookie

    假设我正在滚动自己的会话代码 那么在 java 中生成唯一且安全的会话 id cookie 的正确方法是什么 我不应该自己推出而是使用已经标准化的东西吗 我正在使用 gwt 和 google app engine 平台 如何使会话在浏览器
  • Javascript 桥接到 Flash 以在 Flash 中存储 SO“cookie”

    读完这个问题后如何唯一地识别访问我网站的计算机 https stackoverflow com questions 216542 how do i uniquely identify computers visiting my web si
  • 每次使用会话来获取/设置对象属性

    我尝试搜索这个 但我什至不知道如何用它来搜索 我试图做的是有一个类 每次我访问它来更改它时 我实际上都是从会话中获取和设置值 这是我正在尝试做的事情 到目前为止我所做的事情 public class example public int p
  • 如何设置 php cookie 的过期时间以及如果 cookie 存在如何将用户重定向到另一个页面 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望当用户来到我的页面时index php 它应该创建一个带有过期时间的 cookie 如果用户在 5 分钟内再次尝试访问该页面 他应该
  • 安全 Cookie?

    我正在慢慢地将我的 未发布的 CMS 从 SESSION to COOKIE 互联网上的内容似乎更偏向于 SESSION 我认为是因为易于使用 我正在寻找有关保存 cookie 的安全提示 目前 我正在以以下格式存储 有点类似于 WordP
  • 检查Cookie是否存在

    从快速搜索开始堆栈溢出我看到有人建议使用以下方法来检查 cookie 是否存在 HttpContext Current Response Cookies cookie name null 或 在一个Page class this Respo
  • WebSphere 中跨 JVM 的会话复制

    我们建立了一个基础设施 其中网络服务器是集群的 而应用程序服务器不是 Web 服务器根据循环策略将请求路由到应用程序服务器 在这种情况下 一个应用程序服务器中可用的会话数据在另一应用程序服务器中不可用 无论如何 是否可以使来自第一个应用程序
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • MVC4 如何设置 cookie 然后重定向到操作

    您好 我正在尝试获取用户角色并将其设置为我的应用程序中的 cookie 我有以下有效的代码 public ActionResult Index var user User Identity Name set by 3rd party cen
  • 如果 Redis 已经是堆栈的一部分,为什么 Memcached 仍然与 Redis 一起使用?

    Redis 可以执行 Memcached 提供的所有操作 LRU 缓存 项目过期以及现在版本 3 x 中的集群 目前处于测试阶段 或通过 twemproxy 等工具执行 性能也类似 此外 Redis 增加了持久性 因此您无需在服务器重新启动
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI

随机推荐

  • C++ 构造函数中前导下划线的含义是什么?

    好吧 我不是一个非常有经验的 C 程序员 但我想知道以下构造函数的参数中下划线的意义是什么 class floatCoords public floatCoords float x float y float width float hei
  • PDO 返回所有行[重复]

    这个问题在这里已经有答案了 所以 现在我有一个 PHP 函数 它利用 PDO 返回特定表的第一行 这很好用 但我想返回所有信息 同时能够组织所有信息 我有桌子zip admins我正在尝试返回first name and last name
  • 使用 Google Maps API v3 循环遍历标记问题

    我不知道为什么这不起作用 我没有任何错误 但发生的情况是 无论我单击哪个标记 它总是单击最后一个标记 我不确定为什么 因为 the marker 的设置方式相同 我怎样才能解决这个问题 使用新的 jQuery XML 进行了更新 funct
  • 如何递归删除 UNIX 目录中的所有隐藏文件?

    我已经搜索了一段时间 但似乎无法得到简洁的解决方案 我有一台 Mac 其中有一个文件夹 我想清除该文件夹中的所有隐藏文件 目录 任何隐藏的内容 它曾经是一个包含大量 metadata svn 内容的 Eclipse 工作区 我很乐意将其全部
  • JDBC 驱动程序是否应该包含在 WAR 中?

    我们正在开发一个商业软件产品 它支持 Oracle MySQL 和 SQL Server 后端 我们也使用 H2 进行测试 我们使用特定版本的 JDBC 驱动程序针对这些不同的数据库进行集成测试 Maven 完美地处理了这一切 当将应用程序
  • HTTPS 使用非对称加密还是对称加密?

    我今天上午都在搜索 但我找到了一些网站 据说数据是 通过使用 TLS 协议的非对称加密发送的 然后我发现相反 请你告诉我哪个是真的 谢谢 有谁知道逐步解释 tls 协议通过 https 握手的指南吗 最好的答案是两者兼而有之 TLS 使用非
  • Dart HttpRequest 轮询

    我有一个网络应用程序 它有一个计时器 每 3 秒触发一次轮询以获取数据 它工作正常大约 2 5 分钟 然后 Chromium 崩溃了 我的请求 Dart 看起来像这样 HttpRequest getString data get load
  • BigQuery:404“表被截断。”当在截断之后插入时

    我通过执行此处描述的 queryJob 来截断我的表 https cloud google com bigquery docs quickstarts quickstart client libraries https cloud goog
  • 将命令与 TabItem 一起使用

    我想在选择 TabControl 的 TabItem 时调用命令 有没有办法在不破坏 MVVM 模式的情况下做到这一点 Use an 附加命令行为 http marlongrech wordpress com 2008 12 13 atta
  • ResultSetImpl 抛出 NullPointerException

    我正在使用 mysql 5 1 18 连接器运行 mysql 5 5 一个简单的样式查询 select from my table where column a in aaa bbb and column b 1 从java应用程序中执行
  • 如何在 Mountebank 中使用代理记录请求和响应?

    我正在使用创建一个冒名顶替者进程骗子 http www mbtest org docs gettingStarted并想要记录请求和响应 为了创建一个http imposter 我使用了以下命令CURL命令如其文档中所述 curl i X
  • 根据后代节点的属性选择节点的最佳 LINQ-to-XML 查询?

    我有以下 XML 文档
  • 属性的延迟加载

    如何实现对象属性的延迟加载 即如果访问属性但尚不存在 则调用一些应该加载这些属性的对象方法 我的第一次尝试是 def lazyload cls def getattr obj attr if loaded not in obj dict o
  • EF Code First 和 SQL Server 视图

    在 ASP NET MVC3 中 使用 EF Code First 时如何显示 SQL Server 视图中的数据 只需使用视图的名称作为表的名称即可
  • 检测后如何从图像中提取文本区域

    我正在尝试使用 opencv python 从图像中提取所有文本区域 我已成功检测到文本区域 但无法提取它 我提取了文本区域的较小子矩阵 但无法将它们聚合成我们在图像中视为文本区域的更大矩阵 import numpy as np impor
  • 没有实际块的 if 块内的声明是否有效?

    以下代码有效吗 如果有的话 范围是什么x int main if true int x 42 我的直觉告诉我 没有创建任何范围if因为没有实际的块 遵循它 GCC 4 7 2 向我们展示了 虽然代码是valid 的范围x仍然是简单的条件式
  • 我可以将 iPhone/iPad 作为 Eddystone Beacon 进行广播吗?

    我们可以让 iOS 设备充当 iBeacon 发射器 如果我们知道附近的 iBeacon 的 Proximity UUID 我们就可以找到它们 通过Google的Proximity Beacon API 可以配置和注册真正的Beacon硬件
  • 如何在 PostgreSQL 中高效设置减连接表?

    我有以下表格 work units 不言自明 workers 不言自明 skills 如果你想从事每个工作单位 都需要一些技能 每个工人都精通多项技能 work units skills 连接表 workers skills 连接表 工作人
  • 如何在 C# 中锁定整数?

    C 有没有办法锁定整数 整数不能与锁一起使用 因为它们是装箱的 并且仅锁定引用上的锁 场景如下 我有一个基于论坛的网站 具有审核功能 我想要做的是确保在任何给定时间只有一位版主可以审核帖子 为了实现这一点 我想锁定帖子的 ID 到目前为止
  • Memcache 打开后 Magento 会话消失

    我们遇到一个问题 当我们启用 memcache 在 nginx Web 服务器上 时 会话会从 Magento 1 10 中随机消失 我们在 Magento 中设置 cookie 过期时间似乎并不重要 由于某种原因 会话在一小时内的任何随机