0

我在 API 调用期间使用 php Session 在服务器上存储值。

这里的问题是,在我的本地服务器上工作正常,而在实时服务器上,会话中没有存储任何内容。

这是工作流程,基本上我有一个调用 Magento API 的独立脚本:

[Script calling API ] -> [Magento Server]

在 Magento 方面:

  1. API被调用
  2. API 在会话中设置一些值
  3. 观察者试图读取这些值

奇怪的是,如果我在本地 Magento 服务器(DEV 的副本)上运行我的 API 调用,调用 Magento DEV 服务器时一切正常,会话变量为空。

这就是我设置会话值的方式:

Mage::getSingleton('admin/session')->setApiQuoteId($quoteId); 

但是我很确定代码部分没问题(因为它在这里工作正常)我的疑问是:

  1. 我可以在不使用浏览器的情况下使用会话,而是使用脚本/API 调用来访问服务器吗?
  2. 任何服务器设置都会破坏上述功能?

本地服务器:PHP - 5.4.6

开发服务器:PHP - 5.2.17

4

1 回答 1

1

会话由 cookie 标识。如果您的 api 无法保存 cookie 并每次都发送它,那么您每次都会丢失会话变量,因为将分配一个新会话。

于 2013-04-15T20:34:43.103 回答