2014-09-29 56 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