- 相關(guān)推薦
PHP語言中Session的概念
什么是Session呢?
Session直接翻譯成中文比較困難,一般都譯成時(shí)域。在計(jì)算機(jī)專業(yè)術(shù)語中,Session是指一個(gè)終端用戶與交互系統(tǒng)進(jìn)行通信的時(shí)間間隔,通常指從注冊(cè)進(jìn)入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時(shí)間。具體到Web中的Session指的就是用戶在瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過的這段時(shí)間,也就是用戶瀏覽這個(gè)網(wǎng)站所花費(fèi)的時(shí)間。因此從上述的定義中我們可以看到,Session實(shí)際上是一個(gè)特定的時(shí)間概念。
需要注意的是,一個(gè)Session的概念需要包括特定的客戶端,特定的服務(wù)器端以及不中斷的操作時(shí)間。A用戶和C服務(wù)器建立連接時(shí)所處的Session同B用戶和C服務(wù)器中建立連接時(shí)所處的Sessions是兩個(gè)不同的Session。
那什么是Session的解決方案呢?
我們知道,用戶訪問一個(gè)網(wǎng)站時(shí)往往需要瀏覽許多網(wǎng)頁。對(duì)于一個(gè)通過PHP構(gòu)筑的網(wǎng)站來說,用戶在訪問的過程中需要執(zhí)行許多的PHP腳本。然而由于HTTP協(xié)議自身的特點(diǎn),用戶每執(zhí)行一個(gè)PHP腳本都需要和Web服務(wù)器重新建立連接。又由于無狀態(tài)記憶的特點(diǎn),此次連接無法得到上次連接的狀態(tài)。這樣,用戶在一個(gè)PHP腳本中對(duì)一個(gè)變量進(jìn)行了賦值操作,而在另外一個(gè)PHP腳本中卻無法得到這個(gè)變量的值。例如,用戶在負(fù)責(zé)登錄的PHP腳本中設(shè)置了$user="wind",卻無法在另一個(gè)PHP腳本中通過調(diào)用$user來獲得“wind”這個(gè)值。也就是說,在PHP中無法設(shè)置全局變量。每個(gè)PHP腳本中所定義的變量都是只在這個(gè)腳本內(nèi)有效的局部變量。
Session解決方案,就是要提供在PHP腳本中定義全局變量的方法,使得這個(gè)全局變量在同一個(gè)Session中對(duì)于所有的PHP腳本都有效。上面我們提到了,Session不是一個(gè)簡(jiǎn)單的時(shí)間概念,一個(gè)Session中還包括了特定的用戶和服務(wù)器。因此更詳細(xì)地講,在一個(gè)Session定義的全局變量的作用范圍,是指這個(gè)Session所對(duì)應(yīng)的用戶所訪問的所有PHP。
例如A用戶通過Session定義了一個(gè)全局變量$user=“wind”中,而B用戶通過Session定義的全局變量$user=“jane”。那么在A用戶所訪問的PHP腳本中,$user的值就是wind。
【PHP語言中Session的概念】相關(guān)文章:
php語言中session用法07-02
Session在PHP中的使用07-24
教你如何使用php的session07-13
如何使用php中session04-01
php使用MySQL保存session會(huì)話02-17
php中session的基礎(chǔ)知識(shí)04-02
php實(shí)現(xiàn)Session存儲(chǔ)到Redis02-15
PHP框架的概念07-11