㈠ php關閉瀏覽器如何使session失效
session 在伺服器上的管理,通常以文件形式保存,文件名就是 session id。
瀏覽器關閉的過程中,伺服器上的 session 數據並沒有被銷毀,因為這時候沒有發送任何請求,伺服器那邊不會知道是否要銷毀 session 的數據。瀏覽器再次啟動重新打開頁面的時候,發送的 session id 還是原來的 id,雖然你說沒用到 cookie,但是這個 id 就是通過 cookie 發送的。
你可以看看 php.ini 的設置,主要看這兩項:
session.gc_maxlifetime
session.cookie_lifetime
㈡ PHP中,怎麼才能關閉瀏覽器後自動銷毀session
php的session過期機制是由這三個配置決定:
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
過期時間是針對session文件最新修改時間的,如果最新修改超過了gc_maxlifetime的時間,gc會有1/1000分之一的概率回收(刪掉session文件)
而每次瀏覽器請求,都是cookie中帶了PHPSESSID去伺服器中匹配session的
http請求是無狀態請求,你一次請求後得到了響應,再沒有其他請求的話,基本伺服器跟你瀏覽器沒啥關系了,所以你關閉了瀏覽器,不可能去命令伺服器主動銷毀session
要想實現你要的效果,只能設置cookie的過期時間了,關閉會話後cookie過期(一般不設過期時間,默認是關閉瀏覽器失效),這樣,你再打開,就要重新登錄,不要關心session的過期了,讓gc自己回收把。
㈢ 為什麼瀏覽器關閉後PHP還會一直執行
phpfpm + php情況下,如果客戶端client異常推出了,服務端的程序還是會繼續執行,直到與IO進行了兩次交互操作。服務端發現客戶端已經斷開連接,這個時候會觸發一個user_abort,如果這個沒有設置ignore_user_abort,那麼這個php-fpm的程序才會被中斷。
==================================
ignore_user_abort()函數是否設置為false,如果為true,那麼當用戶關閉瀏覽器後,php頁面還會繼續執行!同時發現你對頁面設置了set_time_limit(0),就是說腳本不會超時
㈣ php 執行程序瀏覽器關閉了,還在執行,是什麼原因
關閉就不執行了,但是有時你執行了一個sql,執行這個sql需要時間,就算你關閉了瀏覽器,但是這個請求已經發出,所以會執行下去。
㈤ php中關閉當前瀏覽器的窗口
PHP是伺服器端語言,你要關閉瀏覽器窗口要使用客戶端語言,像Javascript。下面就是使用PHP輸出一段JS實現關閉當前瀏覽器窗口
㈥ PHP判斷瀏覽器
用 $_SERVER["HTTP_USER_AGENT"] 取瀏覽器信息,里邊有瀏覽器的類型及版本
隨手網上搜的
<?php
if(strpos($_SERVER["HTTP_USER_AGENT"],」MSIE 8.0″))
echo 「Internet Explorer 8.0″; // 這里可以寫其他的執行命令
else if(strpos($_SERVER["HTTP_USER_AGENT"],」MSIE 7.0″))
echo 「Internet Explorer 7.0″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」MSIE 6.0″))
echo 「Internet Explorer 6.0″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Firefox/3″))
echo 「Firefox 3″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Firefox/2″))
echo 「Firefox 2″;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Chrome」))
echo 「Google Chrome」;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Safari」))
echo 「Safari」;
else if(strpos($_SERVER["HTTP_USER_AGENT"],」Opera」))
echo 「Opera」;
else echo $_SERVER["HTTP_USER_AGENT"];
?>
㈦ js判斷瀏覽器關閉
window.onbeforeunload=onbeforeunload_handler;
window.onunload=onunload_handler;
functiononbeforeunload_handler(){
varwarning="確認退出?";
returnwarning;
}
functiononunload_handler(){
varwarning="謝謝光臨";
alert(warning);
}
㈧ PHP的cookies的問題,如何設置關閉瀏覽器的時候就清空cookies
用setCookie,把時間清空或者設置為0就可以了。
setcookie(name,value,expire,path,domain,secure)
比如代碼:
setcookie("TestCookie",$value);
有時可能會報錯,把時間設置為0就好了。
setcookie("TestCookie",$value,0);
㈨ PHP點擊瀏覽器關閉按鈕時候,怎麼清除session值
這個不好做..我的解決方案
寫一個unload事件 然後用ajax 去執行一個方法..
(因為部分瀏覽器不支持unload事件)
然後還得設置一個定時(計劃任務) 讓他在一天的某個時段去執行清空session的命令
當然你得有個判斷 如果當前session 正在活動 怎麼怎麼樣 或者是 當前session已經有多久沒有激活 或者修改了 讓他去清空..
㈩ 怎麼用php腳本 判斷客戶端瀏覽器是否已經斷開連接
怎麼用php腳本 判斷客戶端瀏覽器是否已經斷開連接
你想要的應該不是這個意思,你是想知道任何一個頁面是否被用戶關閉了是么? php辦不到,jsp,asp.net都不行。。。 需要用socket長連接才行,瀏覽器請求網頁是請求完畢就關掉連接的,除非象一樓那樣硬拽著連接不放,但這並不是你想要的東西