首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP会话是如何工作的?(不是“它们是如何使用的?”)

PHP会话是如何工作的?(不是“它们是如何使用的?”)
EN

Stack Overflow用户
提问于 2009-10-08 04:52:14
回答 2查看 64K关注 0票数 139

会话文件通常存储在命名为sess_{session_id}的服务器上的/tmp/中。我一直在看内容,但不知道它们是如何工作的。

从文件中获取变量名和内容很容易。但是PHP如何知道哪个会话属于谁呢?

session_id看起来完全是随机的,一个IP地址可以有多个用户,如果每个用户打开了多个浏览器窗口,则每个用户可以有多个会话。

那么它是如何工作的呢?

EN

回答 2

Stack Overflow用户

发布于 2009-10-08 04:56:33

会话ID确实是随机的,根据配置的不同,它是在cookie中传递的,还是在URL中传递。您可能已经在一些URL中看到过此PHPSESSID=xxxx,也有一个同名的cookie。

票数 4
EN

Stack Overflow用户

发布于 2016-09-08 16:35:37

PHP中的会话是使用session_start( )函数启动的。与setcookie( )函数类似,session_start( )函数必须出现在页面上任何HTML之前,包括空行。它将看起来像这样:<?php session_start( );?><html><head> ......等,session_start( )函数生成一个随机会话Id,并将其存储在用户计算机上的cookie中(这是客户端实际存储的唯一会话信息)。cookie的默认名称是PHPSESSID,尽管可以在服务器上的PHP配置文件中更改此名称(但是,大多数托管公司不会更改它)。因此,要在PHP代码中引用会话Id,需要引用变量$PHPSESSID (它是一个cookie名称;还记得cookie中的名称吗?)

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

https://stackoverflow.com/questions/1535697

复制
相关文章

相似问题

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