大佬教程收集整理的这篇文章主要介绍了如何在PHP中重新初始化会话?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将现有的支付平台集成到我的网上商店.成功完成交易后,支付平台会将请求发送到我的应用程序中的URL,并将查询ID包含在交易ID中.
但是,我需要进行一些后处理,例如发送订单确认等.为此,我需要访问用户的会话,因为许多与订单相关的信息都存储在该会话中.为此,我在初始请求XML中包含session_id,并在事务完成后执行以下操作:
$sessionId = 'foo'; // the sessionId is succesfully retrieved from the XML response
session_id($sessionId);
session_start();
上面的代码可以正常工作,但是$_SESSION仍然为空.我是否正在忽略某些东西,或者这根本不可能?
编辑:
感谢所有的答案.该问题尚未解决.如前所述,奇怪的是我可以使用属于下订单用户的session_id成功启动新会话.还有其他想法吗?
解决方法:
并不是您真正想要的东西,但是在将客户发送到付款服务之前,您是否不需要将订单保存到数据库中?收到付款确认后,最好在订单的后处理中依赖持久性数据.
依靠会话是不可靠的,因为您不知道此确认将花费多长时间(通常是即时的,但在极少数情况下会有所延迟).
此外,如果您在该时间段内重新启动Web服务器,将使您丢失相关数据.
第三个问题是,如果您有一个负载平衡解决方案,并且具有单独的会话管理(非常常见),那么您将无法保证付款服务器和您的客户将到达同一台Web服务器(因为粘性通常是基于source-ip的).
以上是大佬教程为你收集整理的如何在PHP中重新初始化会话?全部内容,希望文章能够帮你解决如何在PHP中重新初始化会话?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。