在PHP配置文件(php.ini)中,有一組與Session相關的配置選項。通過對一些選項重新設置新值,就可以對Session進行配置,否則使用默認的Session配置。
Session的設置不同于Cookie,必須先啟動,在PHP中必須調用session_start()函數,以便讓PHP核心程序,將與Session相關的內建環境變量預先載入至內存中。session_start()函數的語法格式如下:Bool session_start (void) //創建Session,開始一個會話,進行Session初始化
函數Session_start()有兩個作用:一是開始一個會話,二是返回已經存在的會話。這個函數沒有參數,且返回值均為true。
如果使用基于Cookie的Session,在使用該函數開啟Session之前,不能有任何輸出的內容。因為基于Cookie的Session是在開啟的時候,調用session_start()函數會生成一個唯一的Session ID,需要保存在客戶端電腦的Cookie中,和set-Cookie()函數一樣,調用之前不能有任何的輸出,空格或空行也不行。如果已經開啟過Session,再次調用session_start()函數時,不會再創建一個新的Session ID。因為當用戶再次訪問服務器時,該函數會通過從客戶端攜帶過來的Session ID,返回已經存在的Session。所以在會話期間,同一個用戶在訪問服務器上任何一個頁面時,都是使用同一個Session ID。
如果不想在每個腳本都使用session_start()函數來開啟Session,可以在php.ini中設置“ses-sion.auto_start=1”,則無須每次使用Session之前都要調用session_start()函數。但啟用該選項也有一些限制,則不能將對象放入Session中,因為類定義必須在啟動Session之前加載。所以不建議使用php.ini中的session.auto_start屬性來開啟Session。
當前文章標題:啟動會話
當前URL:http://www.thewannabehomesteader.net/news/wzzz/3271.html
上一篇:認識會話變量
下一篇:注冊和讀取會話