PHP   发布时间:2022-04-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在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,请注明来意。
标签: