Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器如何存储使用PHP创建的会话变量?_Php_Session_Session Variables_Sessionid - Fatal编程技术网

服务器如何存储使用PHP创建的会话变量?

服务器如何存储使用PHP创建的会话变量?,php,session,session-variables,sessionid,Php,Session,Session Variables,Sessionid,我想知道服务器如何存储(不是位置,而是过程/方法)和管理会话变量。如果我错了,请更正 我将其想象为:- 假设我创建了三个会话变量 $_SESSION['id']=12; $_SESSION['flag']=t; $_SESSION['name']=alex; 然后,服务器创建一个表(或文件等) 会话id由服务器创建,对于每个用户都是唯一的。然后,服务器将会话id作为cookie发送到客户端浏览器。当用户在会话期间发送另一个请求时,该会话id也将随请求一起由浏览器发送。然后服务器引用该表并可以识

我想知道服务器如何存储(不是位置,而是过程/方法)和管理会话变量。如果我错了,请更正

我将其想象为:-

假设我创建了三个会话变量

$_SESSION['id']=12;
$_SESSION['flag']=t;
$_SESSION['name']=alex;
然后,服务器创建一个表(或文件等)

会话id由服务器创建,对于每个用户都是唯一的。然后,服务器将会话id作为cookie发送到客户端浏览器。当用户在会话期间发送另一个请求时,该会话id也将随请求一起由浏览器发送。然后服务器引用该表并可以识别用户。 作为程序员,我们可以使用id(由我们存储)从数据库中获取不同的信息。
(如果我错了,请简要解释过程)。

默认情况下,会话数据存储在session.save_path()中保存的文件中。

会话数据序列化为文本字符串,并存储在每个会话的文件中,通常名为“sess_sessiondhere”,可能位于/var/lib/php5中(至少在Debian上默认)。查看PHPINI设置“session.save_path”以发现会话文件的存储位置


看看这个。它通常作为文件存储在服务器的/tmp目录中


变量存储的位置由PHP的
会话.save\u路径
配置决定。通常这是Linux/Unix系统上的/tmp。如果无法100%确定,请使用phpinfo()函数在域的DocumentRoot中创建包含此内容的文件,以查看特定设置

详情请参阅:


会话可以但不必使用数据库后端。您的其他声明通常都很好(cookies、会话id)

PHP中的默认会话存储是
/tmp
文件夹中的一个文件-可以通过打印
session.save_path
来检查路径

总之,会话可以利用:

  • 硬盘上的文件
  • 内存中的文件,例如
    /dev/shm
    及其子文件夹中的文件(/tmp也可以驻留在RAM中)
  • 数据库-会话表可以驻留在磁盘或内存中
  • 专用内存后端
  • 回应您的评论:您了解在浏览器和web服务器之间共享会话数据的过程。但是,如果您想要手动访问会话数据(在PHP脚本之外),那么使用的会话存储对您来说很重要


    如果您在
    $\u SESSION
    变量中存储
    user\u id
    ,那么是的-您可以在任何后续请求中使用它从PHP脚本中查询数据库中的用户相关信息。

    我不是问它存储在哪里,而是问过程。因此我更新了答案。
    -----------------------------------------------
    session_id |  id   |   flag  |  name
    -----------------------------------------------
    a45sdg665  |  12   |   t     |   alex
               |       |         |   
               |       |         |