2014-09-29 33 views
-1

我正在使用PHP,我知道如何管理会话。但我的问题是,会话与语言或Web服务器有关。谁负责执行会话会话由服务器或语言处理?

+0

为什么我得到负面的印记? – Ravi 2014-09-29 10:07:54

回答

0

您负责通过session_start()开始会话来执行会话。

默认情况下,会话存储在Linux/Unix系统上的/ tmp中。你可以用session_save_path()方法改变它。

还拿在php.ini看看为[会议]部分,它应该是这样的

; Handler used to store/retrieve data. 
; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler 
session.save_handler = files 

,你可以默认情况下它被存储为文件存储看到,建议移动会话缓存即memcache。

编辑:

也许这篇文章可以帮助您:https://security.stackexchange.com/a/19054

0

会话令牌是从服务器生成并发送到客户端以识别当前交互会话的唯一标识符。客户端通常以HTTP cookie的形式存储和发送令牌并/或将其作为GET或POST查询中的参数发送。使用会话令牌的原因是客户端只需处理标识符 - 所有会话数据都存储在链接到该标识符的服务器上(通常位于数据库中,客户端无法直接访问)。一些编程语言在命名HTTP cookie时使用的名称包括JSESSIONID(JSP),PHPSESSID(PHP),CGISESSID(CGI)和ASPSESSIONID(ASP)。

+1

请考虑加入对该段落的来源的引用 – 2014-09-29 08:25:07

+0

我的问题是谁负责执行会话? – Ravi 2014-09-29 08:30:33

+0

@ravikant。它必须是服务器 – 2014-09-29 08:40:32

0

会议是两个组件,即一个客户端会话 ID和服务器端的会话数据的组合。实际上,它的行为就像一个饼干,两个互相回复的饼干。客户端可以将会话ID作为URL参数,cookie甚至HTTP头发送到服务器端。服务器然后使用此会话ID来查找匹配的会话数据以返回到请求客户端。

因此,直接回答您的问题,会话是服务器和客户端的一部分,您可能会将其称为语言。但是PHP处理执行

另外,您可以通过各种session functions调整会话行为。

+0

你是怎么知道“语言”是指“客户”的......对我来说,他听起来像是“语言”指的是“PHP”。 – DanFromGermany 2014-09-29 10:06:13

+1

PHP正在处理会话,PHP不是客户端。 – DanFromGermany 2014-09-29 10:24:12

+1

是的,你是我的朋友,php处理会话和php是在服务器端。尽管会话的一部分存储在客户端,在这种情况下是浏览器。谢谢澄清 – Gokigooooks 2014-09-29 10:29:57

-1

会话由服务器生成,但与语言耦合。所以,如果你看看你的浏览器资源,你会发现你的会话ID以你使用的语言作为前缀。

+0

反之亦然。它由PHP和*耦合* /通过网络服务器生成。 – DanFromGermany 2014-09-29 08:56:38