首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在高流量站点上使用PHP会话对象的推荐方法是什么?

在高流量站点上使用PHP会话对象的推荐方法是什么?
EN

Stack Overflow用户
提问于 2018-02-14 15:35:15
回答 1查看 66关注 0票数 0

我目前的工作是一个网站,有很高的流量,以我的标准。它是一个网络商店,在它的会话中有一些(序列化的)对象。

例如。

代码语言:javascript
复制
$_SESSION['shoppingcart'] = new Shoppingcart();

这个对象后来在整个代码中被使用。到目前为止没问题。当前的会话持续时间为1小时,当用户通过发出请求使其保持活动状态时,会话时间将被延长。

现在,对于(可能是众所周知的)问题:在对示例中的Shoppingcart类进行更改时,该更改有可能破坏对象的反序列化。我们能做些什么来防止这个问题?推荐的方法是什么?

  • 我们可以将值保存在数据库中,并且只能在会话中使用基本int来标识主键。
  • 我们可以使用来自对象的一些数组转换。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-14 15:42:14

有一个很好的机会,这里有一个专家,有一个更好的答案,但现在我将分享我的发现。

鉴于所有这些潜在的问题,我强烈建议不要在会话中存储对象。如果希望持久化登录用户,而不是将用户类的实例存储在$_SESSION中,只需存储用户ID并从数据库或缓存中填充用户对象即可。这比让PHP神奇地为您处理一切要多一些,但是您的应用程序在没有对象序列化的情况下将更加稳定和可移植。

https://www.phparch.com/2018/01/php-sessions-in-depth/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48790860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档