㈠ 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长连接才行,浏览器请求网页是请求完毕就关掉连接的,除非象一楼那样硬拽着连接不放,但这并不是你想要的东西