Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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_Variables - Fatal编程技术网

Php 会话变量与正常变量?

Php 会话变量与正常变量?,php,session,variables,Php,Session,Variables,有什么区别?我知道会话变量存储信息并允许跨页面使用,但我有几个问题:值存储在哪里?会话变量和正常变量之间有什么区别 这是在PHP的上下文中。我想得到一个深入的答案,因为我还没有在网上找到很多关于这个问题的信息。默认情况下,会话变量存储在服务器上的一个文件中。处理指向用户的会话通常是浏览器中的cookie集(或者查询字符串中的丑陋参数,但这是不可取的) 有很多关于会话如何在中工作的信息。PHP将会话变量(具有唯一ID)存储在服务器站点cookie中。然后,它在用户浏览器中存储一个cookie,跟踪

有什么区别?我知道会话变量存储信息并允许跨页面使用,但我有几个问题:值存储在哪里?会话变量和正常变量之间有什么区别


这是在PHP的上下文中。我想得到一个深入的答案,因为我还没有在网上找到很多关于这个问题的信息。

默认情况下,会话变量存储在服务器上的一个文件中。处理指向用户的会话通常是浏览器中的cookie集(或者查询字符串中的丑陋参数,但这是不可取的)


有很多关于会话如何在中工作的信息。

PHP将会话变量(具有唯一ID)存储在服务器站点cookie中。然后,它在用户浏览器中存储一个cookie,跟踪会话ID,以便以后可以查找

Cookie基本上是包含每个变量的编码数据的文本文件

普通变量只存储在临时内存中,并在完成时进行垃圾收集

编辑:另外,请参见此答案以了解替代定义:

值存储在哪里

这取决于PHP配置。默认情况下,会话变量被序列化并写入服务器文件系统上的文件中。在启动会话的每个页面视图上,它们都是未序列化的,可以从
$\u会话
数组访问。可以重写默认会话处理程序,以便将变量存储在其他位置,例如数据库

会话通过将会话ID(唯一标识符)存储为客户端计算机上的cookie来工作。每次客户端请求页面时,会话ID cookie会随请求一起发送,PHP从cookie中提取会话ID,然后提取与所述会话ID相关的会话数据

会话变量和正常变量之间有什么区别


简单地说,会话变量保存到源(如文件系统),这就是它们在页面请求之间保持的方式。普通变量只在脚本执行完成之前有效,然后将被销毁。

您检查过php.net或google吗?这是有据可查的。我没有必要写一份报告来重申已经存在的东西。嗨,NappingRabbit,是的,在问这个问题之前,我检查了google和php.net一段时间。我没有找到我要找的东西。很抱歉,您不必回答我的问题。对于“值存储在哪里”:普通变量,它存储在(服务器)内存中;会话变量,它存储在临时文件中,如果配置为,则存储在数据库中。在这里可以找到会话配置参数的完整列表:谢谢您的回答。会话是cookie吗?或者它们是不同的东西?会话是cookie的一种形式吗?@BobUni:会话不是cookie,但cookie可用于存储会话标识符。