可能每個PHP的初學者在使用SESSION的時候,都會遇到同一個問題,就是
Warning: open(/tmp/sess_7a8c81039d7cba3f9a868bc90f821526, O_RDWR) failed: m (2) in YOUR_PHP_FILE_PATHsession.php on line 2
這並不是您的PHP版本不夠高,更不是語法錯誤,而是PHP指定的存放SESSION文件的路徑不存在。以下是關於SESSION的用法和本人初試的一些感受,希望初學者少走些彎路。
PHP的SESSION信息是寫在服務器端的硬盤上,缺省情況下是/TMP目錄,如果您的硬盤上無此目錄,則會出現上面提到過的錯誤信息,對此有兩種解決的辦法,一是在根目錄上建立一個叫TMP的目錄,二是用系統提供的session_save_path()函數重新指定一個存在的目錄。PHP和ASP處理SESSION的方式不同,ASP是把SESSION寫到客戶端,調用時用一個專門的語句,並不做其他處理,而PHP還要為SESSION初始化一個環境。下面我就對PHP的SESSION做一個介紹。
使用SESSION前,首先要用session_start()進行初始化,並以session_register()函數聲明變量,格式應為session_register("ssp")或session_register("$ssp"),如果聲明成功,會返回一個TRUE值。這樣此變量則成為一個SESSION,就可在其他頁面中進行調用。
調用的方法如下:在調用頁面也要進行SESSION的初始化(同上),然後可以直接使用變量名,
session_start: 初始 session。
session_destroy: 結束 session。
session_name: 存取目前 session 名稱。
session_module_name: 存取目前 session 模組。
session_save_path: 存取目前 session 路徑。
session_id: 存取目前 session 代號。
session_register: 注冊新的變數。
session_unregister: 刪除已注冊變數。
session_is_registered: 檢查變數是否注冊。
session_decode: Session 資料解碼。
session_encode: Session 資料編碼