<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 什么是session - session 被稱為會話,主要是保持某個訪問者的數據 - 客戶端訪問服務器,通過session_id獲取自己存儲在服務器端的數據 - session_id通過兩種方式傳遞給服務端:URL,cookie ### session開啟 - php.ini文件 session.auto\_start設置為1,則自動開啟session或手動開啟 調用session_start()函數 - 開啟后,先初始化$_SESSION。(通過客戶端傳遞過來的session_id,讀取相應的session文件里面的內容,在將反序列化之后,賦值給$_SESSION超全局數組。第一次訪問若沒有session_id,則$_SESSION為空數組) - session_start()這個階段還會判斷哪些session文件已經過期,然后再觸發垃圾回收機制進行回收 - session_start()之后,腳本運行周期內,php只是對$_SESSION這個超全局數據進行操作,并沒有影響session文件,除非執行了session_destroy()操作。 - 腳本執行結束階段,才會對session文件進行操作,也就是把$_SESSION數組中的數據序列化然后存儲到session文件中 - 在會話開啟后,對于基于文件的會話數據存儲器而言,在會話開始的時候會給數據文件加鎖,直到php腳本執行完畢,或者顯示的調用session_write_close()來保存會話數據,在此期間,其他腳本不可以訪問同一個會話數據文件 ### session配置 - session.cookie_lifetime 已秒數指定發送到瀏覽器的cookie的什么周期,值為0表示‘ 直到關閉瀏覽器 - session.save_handler = redis session的存儲器,默認是 file - session.save_path = "tcp://127.0.0.1:6379" session的存儲路徑 - session.gc_probability = 1; 清楚無效session的基率 - session.gc_divisor = 5000; 啟動垃圾回收程序的概率。概率計算公式:session.gc_probability / session.gc_divisor - session.gc_maxlifetime session文件過期時間。超過這個時間沒有使用session將視為垃圾。將在下次垃圾回收時刪除。 ### 自定義的session存儲 - 先修改配置文件 `ini_set('session.save_handler', 'use')` - 自定義session存儲層 ``` 參數1:表示session_strat的時候處理的函數 參數2:表示腳本結束的時候處理的函數 參數3:讀取session數據表中的數據函數 參數4:向session數據表中寫入數據函數 參數5:銷毀session數據表中的數據函數 參數6:session過期之后的處理函數 session_set_save_handler($open,$close,$read,$write,$destroy,$gc); //回調函數 function open{ //初始化連接數據庫 } function close{ return true; } //讀取session數據表中的數據 //系統會自動把客戶攜帶過來的session_id傳遞給read里面 function read($session_id){ //執行查詢操作 //return 返回查詢的結果 } //在session數據表中寫入數據 //當$_SESSION['name']='zhangsan';的操作時,就會把數據寫入到session表中 function write($session_id,$session_content){ //執行插入操作 } //當執行session_destroy的操作是,會執行destroy函數 //銷毀session,系統自動會把sessionid傳遞給函數 function destroy($sessionid){ //執行刪除操作 //return 返回刪除的結果 } //當session_start()的時候判斷哪些session過期了,會自動把session數據的有效期傳遞過來。 function gc($max_lifetime){ $time = time-$max_lifetime; 然后和數據庫中的最后一次訪問的時間作比較,要是過期了就執行刪除操作 } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看