php會(huì)話機(jī)制總結(jié)_PHP教程
推薦:php中瀏覽器關(guān)閉后,能繼續(xù)執(zhí)行的函數(shù)希望關(guān)閉瀏覽器后,程序能繼續(xù)在后臺(tái)跑,這種情況下需要用到ignore_user_abort()函數(shù); 多的不說,直接上代碼: ignore_user_abort(true); //設(shè)置客戶端斷開連接時(shí)是否中斷腳本的執(zhí)行 set_time_limit(0); $file = '/tmp/ignore_user.txt' ; if (! file_exists ( $file )
1 什么是會(huì)話
web中的會(huì)話實(shí)際上是指瀏覽器和web服務(wù)器之間的會(huì)話,形象一點(diǎn):就好比兩個(gè)人進(jìn)行一段對(duì)話。
2 php會(huì)話機(jī)制工作原理
當(dāng)瀏覽器向服務(wù)器發(fā)送URL請(qǐng)求,服務(wù)器會(huì)生成一個(gè)會(huì)話ID,并將瀏覽器端的一些信息保存在服務(wù)器端,然后將會(huì)話ID送到瀏覽器端保存到cookie里,當(dāng)瀏覽器再次向服務(wù)器發(fā)送請(qǐng)求時(shí)會(huì)將cookie里的會(huì)話ID一并發(fā)送給服務(wù)器,服務(wù)器會(huì)將接收到的會(huì)話ID和服務(wù)器里的ID比較,如果相同服務(wù)器就認(rèn)定是一次會(huì)話,就可以找到本次會(huì)話中保存的信息。
2.1 會(huì)話的啟動(dòng)和終結(jié)
啟動(dòng)會(huì)話在服務(wù)器端進(jìn)行,需要在php腳本的開始處進(jìn)行session_start(),也可以在php.ini里進(jìn)行配置session.auto_start=1,但是不推薦此種做法。銷毀會(huì)話有兩種方法,一種是在瀏覽器端,一種是在服務(wù)器端。在瀏覽器端銷毀會(huì)話就是將瀏覽器端的會(huì)話ID信息清除,一般來說關(guān)閉瀏覽器后cookie里的信息會(huì)消失,當(dāng)然不同的瀏覽器都會(huì)有默認(rèn)的設(shè)置,可以手動(dòng)修改也可以通過js來清除cookie信息。在服務(wù)器端銷毀會(huì)話有兩種方案,一種是調(diào)用unset(session變量)清除保存在服務(wù)器端的信息,當(dāng)所有的session信息都清除后調(diào)用session_destroy()銷毀會(huì)話ID。另外一種是通過設(shè)置session超時(shí)來實(shí)現(xiàn)的。
3 會(huì)話機(jī)制中需要注意的幾點(diǎn)
3.1 啟動(dòng)會(huì)話
在腳本執(zhí)行結(jié)束后,session信息會(huì)被凍結(jié),需要重新啟動(dòng)才能繼續(xù)使用session信息。
分享:PHP文章采集URL補(bǔ)全函數(shù)寫采集必用的函數(shù),URL補(bǔ)全函數(shù),也可叫做FormatUrl。 寫此函數(shù)作用就是為了開發(fā)采集程序,采集文章的時(shí)候會(huì)經(jīng)常遇到頁(yè)面里的路徑是 相對(duì)路徑 或者 絕對(duì)根路徑 不是絕對(duì)全路徑就無(wú)法收集URL。 所以,就需要本功能函數(shù)進(jìn)行對(duì)代碼進(jìn)行格式化,把所有的超鏈接都格式化一遍
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-php會(huì)話機(jī)制總結(jié)
。