總的感覺php的session功能基本上還能用一用,還算方便,省了很多自己處理
cookie的麻煩事情。 php的session管理還是基於文件的,預設的是在/tmp目錄
下產生一個和session id同名的session文件,在這個文件裡保存register的
session data。 session有生存期,在/usr/local/lib/php.ini裡可以設定。
效率應該算馬馬虎虎了,畢竟還是要文件操作,雖然是/tmp的。對於服務量很
大的應用會在/tmp裡產生很多session文件,分特。 。 。
對於分散式應用呢?幾台web server一起服務?招倒是有,session檔案的目錄
是可設定的,把所有的session檔案搞到一個共享的nfs目錄就完事了。但是php
產生唯一文件的時候有沒有考慮過nfs的特殊處理?我沒仔細去看源碼,估計會
出問題,雖然幾率很小...
倒是可以做個session keeper的damon,session數據可以透過hash表的方式存
在記憶體裡,以udp服務方式(效率高,lan裡麵包丟失率小)完成session的生
成,檢索,結束,取置session變數等操作,這樣多台web server可以共享
session資訊.服務端和客戶端的函數我都做了,現在問題是怎樣把客戶端的函
數加到php裡面,或者php對動態函式庫函數呼叫的支援怎麼樣,這些東西manual裡
面都很不詳盡,沒有相關的例子。
BTW:由於語法的不嚴格,php的函數返回容易造成二義性,例如strpos,沒有
匹配返回0,但是匹配的position可能是0的,faint~...