PHP $ _SESSION为多个用户同时(PHP $_SESSION for multiple u

2019-06-27 00:02发布

我想了解一下$ _SESSION数组是如何工作的。 如果我有很多使用我的网站,我需要为每个用户设置一个子阵列的用户? 比如现在我有

$_SESSION['userid'] = $userid;
$_SESSION['sessionid'] = $sessionid;
$_SESSION['ipaddress'] = $ipaddress;

但为了应付更多的用户做我需要做一个多维数组?

$_SESSION[$userid]['sessionid'] = $sessionid;
$_SESSION[$userid]['ipaddress'] = $ipaddress;

每个客户端或者只是总体上的$ _SESSION全局处理? 将有$ _SESSION [“用户id”]在登录踢创下的用户并instate登录的用户的最新消息?

Answer 1:

号有一个单独的$_SESSION为每个用户创建。 这一切都是由服务器完成的,你不必担心。 当编写代码,对待$_SESSION好像有在网站上只有一个用户。

编辑:其实,在思考,这是一个很好的问题要问。 这是好事,问这些各种各样的问题,这意味着你是认真思考你的代码是如何真正的作品 。 不断地问这些事情,并保持测试。 我有一种感觉,有一天你会写一些惊人的代码。

所以,关于这一点,这里是从一些信息apache的网站:

什么是会话?

在会话界面的核心是由跨浏览器的请求访问的密钥和值对的表。 这些对可以根据需要由应用程序利用会话设置为任何有效的字符串。

保持服务器上的会话

Apache可以被配置成跟踪每次存储服务器的一个特定的服务器或一组用户会话。 此功能类似于典型的应用服务器提供的会话。

如果经过配置,会话是通过使用存储一个cookie内,或从嵌入URL查询字符串内的参数中提取的会话ID的跟踪,如在典型的GET请求中。

而从PHP文档上的会话:

在PHP中的会话支持由一种方法来保存之后的请求某些数据。 这使您可以构建更加个性化的应用并提高网站的吸引力。

访问者访问你的网站被分配一个唯一的ID,即所谓的会话ID。 这或者存储在用户侧cookie或在URL被传播。

会话支持允许你存储$ _SESSION全局数组中的请求之间的数据。 当访问者访问您的网站,PHP会自动(如果session.auto_start被设为1)或在您的要求(明确通过在session_start()或隐了session_register())是否与特定的会话ID已与请求一起发送。 如果是这种情况,则之前保存的环境就被重建。



文章来源: PHP $_SESSION for multiple users at once