【发布时间】:2013-04-15 19:59:06
【问题描述】:
我在 API 调用期间使用 php Session 在服务器上存储值。
这里的问题是,在我的本地服务器上工作正常,而在实时服务器上,会话中没有存储任何内容。
这是工作流程,基本上我有一个调用 Magento API 的独立脚本:
[Script calling API ] -> [Magento Server]
在 Magento 方面:
- API 被调用
- API 在会话中设置一些值
- 观察者尝试读取这些值
奇怪的是,如果我在本地 Magento 服务器(DEV 的副本)上运行 API 调用,调用 Magento DEV 服务器时一切正常,会话变量为空。
这就是我设置会话值的方式:
Mage::getSingleton('admin/session')->setApiQuoteId($quoteId);
但是我很确定代码部分没问题(因为它在这里工作正常)我的疑问是:
- 我可以在不使用浏览器的情况下使用会话,而是使用脚本/API 调用来访问服务器吗?
- 任何服务器设置都可能破坏上述功能?
本地服务器:PHP - 5.4.6
开发服务器:PHP - 5.2.17
【问题讨论】:
-
检查服务器配置中的
register_globals并确保它已关闭 -
register_globals在开发服务器上关闭 -
确保你有 session_start();在您浏览的每个文件的顶部(虽然不需要,但必须有一个 session_start(); 在您当前用户环境的顶部)。
-
jonast92 这不是问题 Magento 以正确的方式管理会话并且在本地它正在工作(相同的代码)
标签: php api magento session session-variables