
課程咨詢: 400-996-5531 / 投訴建議: 400-111-8989
認(rèn)真做教育 專心促就業(yè)
定制PHP(PHP培訓(xùn) php教程 )4的session功能
這篇文章描述了怎樣定制php4的session處理。我們提供一個(gè)怎樣寫一個(gè)全功能的基于mysql數(shù)據(jù)庫或dbm文件的session處理程序例子。
一、序言
新的php4有一套自己的session處理函數(shù)。缺省情況下,每個(gè)session存貯在系統(tǒng)臨時(shí)目錄的一個(gè)個(gè)獨(dú)立文件中(例如在unix系統(tǒng)中為/tmp)。
這適合或不適合,依你的需求而言。例如:如果你的支持php的web服務(wù)器分布在不同的機(jī)器上,你不能很容易地共享它們之間的session(當(dāng)然,你也可以將sessions保存在NFS共享中)。另一個(gè)潛在的問題是你機(jī)器上的數(shù)千或數(shù)百萬個(gè)session文件使你的文件系統(tǒng)變得散亂 。
對我們來說幸運(yùn)的是,php4的開發(fā)者非常有遠(yuǎn)見(感謝他們),他們?yōu)槟阄疫@樣的用戶提供了擴(kuò)展session處理的接口。
這個(gè)文檔解釋一點(diǎn)session的處理并且提供兩個(gè)能夠工作的怎樣擴(kuò)展session處理的例子。我們的第一個(gè)例子將使session處理程序保存 session數(shù)據(jù)到DBM文件中。我們的第二個(gè)例子將保存session數(shù)據(jù)到MYSQL數(shù)據(jù)庫中。
在你開始之前,請下載ying20000602.zip 并且將它解開放到web文檔目錄中。(我已經(jīng)將它帶在本文的結(jié)尾處了)
任何一個(gè)我們寫的session處理程序會提供6個(gè)基本的函數(shù),它們將被php4的session處理程序調(diào)用,所以你不用擔(dān)心怎樣調(diào)用它們。
好在這些定制處理session的函數(shù)對你來說是完全透明的。所以你可以改動它們而不會影響你自己的PHP腳本。
這幾個(gè)函數(shù)是:
sess_open($sess_path, $session_name);
這個(gè)函數(shù)被session處理程序調(diào)用來作初始化工作。需要傳給它的兩個(gè)參數(shù)是$sess_path,它對應(yīng)你的php.ini文件中的session
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請?jiān)?0日內(nèi)與聯(lián)系我們,我們會予以更改或刪除相關(guān)文章,以保證您的權(quán)益!