【发布时间】:2012-02-28 19:29:19
【问题描述】:
我正在开发一个 magento 部署,主要目标是简化产品创建。 基本上我们在后端有一些非常耗时的调用,它们应该异步运行,以便用户可以继续工作。
- 我的第一个尝试是使用
AJAX将数据发布到耗时的脚本并通过javascript重新定位用户。
这有点工作,但 magento 会话似乎依赖于 php 会话——据我所知,用户将在php.ini 指定的目录中创建一个会话,并在magento/var/session 中创建一个会话。
由于这个 php 会话是基于文件的,我将无法在第二个请求(重定向)或第一次调用之前同一会话中的任何其他请求(ajax 调用的脚本)中从服务器获得任何响应已完成。
- 我对此的解决方案是对这些会话文件(与 magento 一起)进行内存缓存,以允许这些异步调用。
但是,magento 似乎无法识别这些会话,因为它们存储在 memcache 中。
这是为什么?
我认为它在访问这些会话时使用了标准的 php 函数——虽然我在源代码中找不到任何这些函数,但它们必须以某种方式调用。
我已成功测试会话可以正确存储和加载。 我没有收到任何错误消息,并且日志为空。
任何想法为什么 magento 不能处理这个?
为了实现这些异步调用,它甚至是一种可接受的方法,还是有更好的解决方案?
TL;DR 使用 memcache 存储标准 php 会话。 Magento 似乎无法识别它们。这是为什么呢?
【问题讨论】:
标签: php session magento memcached