1. 程式人生 > >php 利用 session_status 判斷 session 狀態

php 利用 session_status 判斷 session 狀態

一、官方 session_status() 返回值為:

  • PHP_SESSION_DISABLED 會話是被禁用的。
  • PHP_SESSION_NONE 會話是啟用的,但不存在當前會話。
  • PHP_SESSION_ACTIVE 會話是啟用的,而且存在當前會話。
二、嘗試列印var_dump(session_status()); 值總為int 1

與官方描述不一樣,google it,當列印時,會顯示如此:

0----> PHP_SESSION_DISABLED if sessions are disabled.1----> PHP_SESSION_NONE if sessions are enabled
, but none exists.2----> PHP_SESSION_ACTIVE if sessions are enabled,and one exists.
參考

三、思考何時返回 0 或 2 。

1、嘗試加上session_start(),打印出了2。

session_start();

var_dump(session_status()); // int 2

說明:PHP_SESSION_ACTIVE 是指使用了session_start() 啟動新會話或者重用現有會話.

2、嘗試在session_start() 後使用 session_destroy(),期望得到0。

session_start();

session_destroy();

var_dump(session_status()); // int 1

說明:結果輸入1,證明,現在session狀態為 “PHP_SESSION_NONE 會話是啟用的,但不存在當前會話”。

3、於是思考,當session不能用時狀態才為 “PHP_SESSION_DISABLED 會話是被禁用的”,即返回0。

於是修改php.ini session.save_handler = 'cached',重啟php,此時,有個warning,同時,返回0;

說明:只有當session 無法使用時,session_status 才返回 0.

————————————————————————————————————————————————————————

總結,要判斷是否需要使session_start()函式,可以這樣:

if(session_status !== PHP_SESSION_ACTIVE){

session_start();

}

if(session_status !== 2){

session_start();

}



相關推薦

php 利用 session_status 判斷 session 狀態

一、官方 session_status() 返回值為: PHP_SESSION_DISABLED 會話是被禁用的。PHP_SESSION_NONE 會話是啟用的,但不存在當前會話。PHP_SESSION_ACTIVE 會話是啟用的,而且存在當前會話。 二、嘗試列印va

原創:PHP利用session,實現用戶登錄後回到點擊的頁面(本文以TP為例)

con gop query php代碼 自帶 ttr strpos 手機 roo 1、以下內容純屬原創,請謹慎選擇: ①目的:用戶登錄超時,session過期,點擊後跳轉到登錄頁,登錄成功再跳轉到鼠標點擊的頁面。 ②流程:用戶登錄---session過期---點擊跳

php判斷session是否設定

//設定fseek if(isset($_SESSION["f_fseek_size"])){ }else{ //未設定 $_SESSION["f_fseek_size"]=0; } echo "isset:-->".isset($_SE

php利用curl獲取網頁title內容

charset 釋放 tput head func reg 文字編碼 top titles <?php $url = ‘http://www.k7wan.com‘; echo getTitle_web_curl($url); function getTitl

PHP 利用 QQ 郵箱發送郵件「PHPMailer」

png class onf 認證 git 必須 att 函數 bject 在 PHP 應用開發中,往往需要驗證用戶郵箱、發送消息通知,而使用 PHP 內置的 mail() 函數,則需要郵件系統的支持。 如果熟悉 IMAP/SMTP 協議,結合 Socket 功能就可以編寫

php利用gd實現圖片的邊框

col spl tmp pic ora play 圖片 取圖 from 1 <?php 2 3 //實現兩張圖片合並 並內圖片有一定的邊框 4 5 $file = ‘image/qr_1047.png‘; 6 $logo = ‘image/log

php 利用cookie設置用戶30分鐘未操作自動退出

func 成功 color emp ase upper highlight 解密 tmpl 登陸控制器需要做的登陸成功把用戶ID等信息存入cookie: $this->systemSetKey(array(‘name‘=>$admin_info[‘admin_

PHP使用memcached儲存session信息

php、session、memcached文檔信息: 文檔作者:amun 文檔版本:Version 1.1 修改記錄:2017-05-15 系統環境:CentOS 6.5 64 bit 需求: 環境 ip

PHP利用二叉堆實現TopK-算法的方法詳解

相對 baidu 文本文件 過時 border 數據 http pan set 前言 在以往工作或者面試的時候常會碰到一個問題,如何實現海量TopN,就是在一個非常大的結果集裏面快速找到最大的前10或前100個數,同時要保證 內存和速度的效率,我們可能第一個想法就是利用排序

apache+PHP使用memcached儲存session信息

session需求:Apache使用php支持memcached儲存session信息**以下apache、php、memcached均使用yum方式安裝,如有特殊需求使用源碼包安裝時,配置方式與此不同 關閉防火墻和SElinux安全機制service iptables stopsetenforce 0 1.

PHP利用P3P實現跨域

method php evaluate payment 接受 可能 contains strong rac 有別於js跨域、IFRAME跨域等的常用處理辦法,還可以利用P3P來實現跨域。 P3P是什麽 P3P(Platform for Privacy Preferenc

php利用ob緩存機制實現頁面靜態化方法全解

常用函數 http協議 一個 src names too req 文件是否存在 復制 首先介紹一下php中ob緩存常用到的幾個常用函數 ob_start():開啟緩存機制 ob_get_contents():獲取ob緩存中的內容 ob_clean()清除ob緩存中的內容,但

php利用root權限執行shell腳本 (轉)

用戶組 參考 linux shell腳本 con src itl 為我 star 轉一篇博客,之前搞這個東西搞了好久,結果今天晚上看到了一篇救命博客,瞬間開心了。。。轉載轉載 利用sudo來賦予Apache的用戶root的執行權限,下面記錄一下: 利用PHP利用root權限

PHP 類型判斷和NULL,空值檢查

ron cal 簡單 www its 類型 cti 哪些 是否 PHP是一種寬松類型的編程語言,在函數中對傳入的參數值的“類型”以及”值是否為空或者NULL“進行檢查是不可缺少的步驟。 類型檢查 從PHP

php利用simple_html_dom類,獲取頁面內容,充當爬蟲角色

contents names mac tro upd tool one mit 一個 PHP腳本扮演爬蟲的角色,可能大家第一時間想到可能會是會正則,個人對正則的規則老是記不住,表示比較難下手,今天工作中有個需求需要爬取某個網站上的一些門店信息 無意間在網上看到一個比較好的

php 利用scandir() 函數 掃描出制定目錄下的所有文件

for log scan echo 壓縮文件 引號 sta 舉例 logs //遍歷子文件夾和文件夾的內容 並且計算出文件的多少   //一個demo 引號替換下function scan($dir){ static $i=0; static $d=0;

JavaWeb基礎 session isNew 判斷session是新生成的 還是舊有的

esp exception stub tomcat tty writer 服務器 def con 禮悟:   好好學習合思考,尊師重道存感恩。葉見尋根三返一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉強身心,誠勸且行且珍惜。

php正則判斷手機號碼的方法

判斷 想象 模式 php dump 符號表 博客 5.5 obi 用正則匹配手機號碼的時候, 我們先分析一下手機號碼的規律: 1. 手機號通常是11位的 2. 經常是1開頭 3. 第二個數字通常是34578這幾個數字, 2014.5.5日170號段的手機號開賣所以這裏多了

PHP中Cookie與Session的異同以及使用

重寫 不容易 包含 ron pat 指示 修改表 持久 pri Cookie與Session的異同: 一、cookie機制 Cookies是服務器在本地機器上存儲的小段文本並隨每一個請求發送至同一個服務器。IETF RFC 2965 HTTP State Managemen

php中cookie和session的區別與簡易用法

php cookie session 一、區別1、Cookie是完全保存在客戶端。當客戶端禁止cookie時將不能再使用;對服務端壓力較小;可以指定生存周期;安全性差。2、Session是存放在服務端的。但session id是存放在客戶端的cookie中的,但php的session存放方法是多樣