下面是我總結的php.ini配置文件中關于session的一些設置事項:
手動配置PHP運行環境時,最容易遺忘的一項是服務器端session文件的存儲目錄配置工作,打開php.ini文件,搜索Session,找到session.save_path,默認值為/tmp,代表session文件保存在c:/tmp目錄下,默認tmp目錄并沒有創建,你可以在c盤下創建tmp目錄,或者創建一個其他目錄,比如leapsoulcn,再修改session.save_path的值,并去掉;,即:
session.save_path = ‘/leapsoulcn’;
注意事項:
1、一般為了保證服務器的安全,session.save_path值最好設置為外網無法訪問的目錄,另外如果你是在linux服務器下進行session配置,請務必同時配置此目錄為可讀寫權限,否則在執行session操作時會報錯。
2、在使用session變量時,為了保證服務器的安全性,最好將register_globals設置為off,以保證全局變量不混淆,在使用session_register()注冊session變量時,你可以通過系統全局變量$_SESSION來訪問,比如你注冊了leapsoulcn變量,你可以通過$_SESSION['leapsoulcn']來訪問此變量。
session.save_path配置其他說明事項,從php.ini配置文件翻譯而來。你可以使用”N;[MODE;]/path”這樣模式定義該路徑,N是一個整數,表示使用N層深度的子目錄,而不是將所有數據文件都保存在一個目錄下。
[MODE;]可選,必須使用8進制數,默認600(=384),表示每個目錄下最多保存的會話文件數量。[MODE;]并不會改寫進程的umask。php不會自動創建這些文件夾結構。可使用ext/session目錄下的mod_files.sh腳本創建。如果該文件夾可以被不安全的用戶訪問(比如默認的”/tmp”),那么將會帶來安全漏洞。當N>0時自動垃圾回收將會失效,具體參見下面有關垃圾搜集的部分。
如果你服務器上有多個虛擬主機,建議針對每個不同的虛擬主機分別設置各自不同的目錄。
至此最基本的session配置就完成了,你只要保存php.ini,并重啟apache,即可使用session功能。
其他session配置說明:
1、session.save_handler = ”files”
默認以文件方式存取session數據,如果想要使用自定義的處理器來存取session數據,比如數據庫,用”user”。
2、session.use_cookies = 1
是否使用cookies在客戶端保存會話sessionid,默認為采用cookies。
3、session.use_only_cookies = 0
是否僅僅使用cookie在客戶端保存會話sessionid,這個選項可以使管理員禁止用戶通過URL來傳遞id,默認為0,如果禁用的話,客戶端如果禁用Cookie將使session無法工作。
4、session.name = “PHPSESSID”
當做cookie name來使用的session標識名。
5、session.auto_start = 0
是否自動啟動session,默認不啟動,我們知道在使用session功能時,我們基本上在每個php腳本頭部都會通過session_start()函數來啟動session,如果你啟動這個選項,則在每個腳本頭部都會自動啟動session,不需要每個腳本頭部都以session_start()函數啟動session,推薦關閉這個選項,采用默認值。
我們使用session一把是用來判斷用戶登錄狀態,只有當用戶登錄了網站,才會啟動session,以便在其他頁面傳遞購物下單或者是其他的一些信息,如果網站沒有會員登錄功能或者是用戶暫時沒有使用登錄注冊功能,就不必自動開啟session。
6、session.cookie_lifetime = 0
傳遞sessionid的Cookie有效期(秒),0表示僅在瀏覽器打開期間有效。
7、session.gc_probability = 1
session.gc_divisor = 100
定義在每次初始化會話時,啟動垃圾回收程序的概率。計算公式如下:session.gc_probability/session.gc_divisor,比如1/100,表示有1%的概率啟動啟動垃圾回收程序,對會話頁面訪問越頻繁,概率就應當越小。建議值為1/1000~5000。
8、session.gc_maxlifetime = 1440
設定保存的session文件生存期,超過此參數設定秒數后,保存的數據將被視為’垃圾’并由垃圾回收程序清理。判斷標準是最后訪問數據的時間(對于FAT文件系統是最后刷新數據的時間)。如果多個腳本共享同一個session.save_path目錄但session.gc_maxlifetime不同,將以所有session.gc_maxlifetime指令中的最小值為準。
如果你在session.save_path選項中設定使用子目錄來存儲session數據文件,垃圾回收程序不會自動啟動,你必須使用自己編寫的shell腳本、cron項或者其他辦法來執行垃圾搜集。
比如設置”session.gc_maxlifetime=1440″ (24分鐘):
cd /path/to/sessions; find -cmin +24 | xargs rm。
- 0、php安裝
- 1、選擇PHP作為首選后端語言的原因
- 2、PHP基本語法
- 3、PHP中變量和常量的區別
- 4、PHP中單引號和雙引號的區別
- 5、PHP檢測數據類型的幾種方式
- 6、PHP數據類型轉換
- 7、return、break、continue的區別
- 8、PHP代碼重用
- 9、字符串移除或添加函數
- 10、PHP中字符串大小寫切換以及翻轉和加密
- 11、PHP字符串截取和截取函數
- 12、PHP字符串替換和比較函數
- 13、PHP字符串url解析和實體轉換
- 14、addslashes在預定義字符串前添加反斜杠
- 15、PHP中的數組基本概念
- 16、數組函數implode、explode、in_array、each、list
- 17、PHP數組函數(count、reset、end、next、current、key)
- 18、ZendStudio軟件破解安裝包免費下載
- 19、【圖文】ZendStudio漢化方法
- 20、數組函數in_array、array_search、array_change_key_case、array_chu
- 21、關閉PHP提示的方法(運行出現Notice : Use of undefined constant 的完美解決方案
- 22、PHP數組函數(array_diff_ukey、array_diff_uassoc、array_intersect
- 23、PHP數組函數(array_fill、array_filter、array_flip、array_key_exis
- 24、PHP數組去重及向前向后刪除元素的函數
- 25、PHP數組函數(array_map、array_walk、array_walk_recursive)
- 26、PHP數組函數(compact、extract)
- 27、PHP數組函數(array_merge、array_merge_recursive)
- 28、PHP數組函數(range、array_count_values、array_product)
- 29、PHP數組函數(array_reduce、array_slice、array_splice、array_sum)
- 30、PHP數組排序函數總結
- 31、PHP中面向對象的基本概念及定義對象的方法
- 32、PHP創建對象與構造函數
- 33、PHP對象的釋放
- 34、PHP面向對象的特性(抽象、封裝、繼承、多態)
- 35、PHP面向對象的public、private、protected之間的區別
- 36、PHP面向對象中的final和const的用法
- 37、PHP面向對象的static關鍵字
- 38、PHP中的單例模式
- 39、$this、self、parent詳解
- 40、PHP中面向對象的抽象類和抽象方法
- 41、PHP面向對象中的接口interface
- 42、PHP面向對象中的魔術方法
- 43、面向對象方法get_object_vars、is_subclass_of、interface_exists
- 44、PHP中的數學函數方法總結
- 45、PHP文件處理disk_total_space、disk_free_space、dirname、file_exis
- 46、PHP目錄操作rename和scandir
- 47、PHP操作目錄opendir、readdir、glob
- 48、PHP打開fopen、讀取fread、寫入文件fwrite
- 49、PHP文件處理file_get_contents、file_put_contents、fgetc、fgets、fg
- 50、PHP截取字符串出現亂碼的解決方法(UTF8和GBK)
- 51、PHP文件內容分頁操作,避免亂碼
- 52、PHP文件操作函數file、set_include_path、copy
- 53、PHP文件操作函數filemtime、filectime、fileatime、touch
- 54、PHP文件操作指針函數feof、ftell、fseek、rewind、fpassthru
- 55、PHP文件操作pathinfo、realpath、flock、tempnam、tmpfile
- 56、設置php.ini配置實現表單文件上傳流程
- 57、PHP將上傳到臨時文件夾的文件移動到服務器指定文件夾內
- 58、PHP+input表單實現多文件上傳
- 59、PHP通過超鏈接實現文件下載
- 60、發送header文件頭信息實現文件下載
- 61、PHP中的日期時間_時區時間戳函數使用
- 62、PHP操作COOKIE緩沖區影響COOKIE傳遞方式
- 63、PHP中SESSION定義、建立、刪除方式
- 64、PHP.INI配置文件中關于session的設置
- 65、HP中Session緩存的概念與用法
- 66、PHP自定義Session處理機制
- 67、通過MYSQL數據庫操作Session會話完整源碼類
- 68、PHP連接數據庫實現分頁代碼
- 69、HTTP緩存實現原理詳解
- 70、PHP連接數據庫實現搜索+分頁功能
- 71、PHP圖像處理之建立畫布填充顏色、打開不同圖像類型處理
- 72、PHP顏色或圖像填充及不同填充方式
- 73、PHP圖像處理之畫線&定義線樣式&寬度&風格&筆刷
- 74、PHP圖像處理:繪制色素及矩形圖
- 75、PHP圖像處理之畫圓、弧線、網站餅狀統計圖繪制
- 76、PHP圖像處理之繪制多邊行及文字繪制
- 77、PHP 圖像處理之獲得文字寬高屬性&圖片水印函數功能
- 78、PHP生成圖片驗證碼demo【OOP面向對象版本】
- 79、PHP圖像處理 圖像處理之處理文字及獲得文字尺寸屬性,imagecopymerge imagecop
- 80、替換用戶輸入的QQ表情
- 81、PHP封裝MYSQL數據庫操作類源碼
- 82、PHP與XML技術結合使用解析