【发布时间】:2014-01-26 09:51:21
【问题描述】:
我的 php 代码有一些困难。我需要修改我同事的部分代码,我不明白发生了什么。
在登录页面,他检查了登录名和密码,如果没问题,启动$_SESSION,用户就可以访问应用程序了。
问题是,如果用户没有点击断开链接并退出页面(即使他关闭了浏览器或关闭了电脑),他总是处于连接状态。我检查了,有一个 cookie。
我的第一个问题是为什么这个 cookie 存在,因为代码中没有 setCookie()。
这是我的 php.ini 中关于 session 的部分:
session.save_handler = files
session.save_path = "N;/path"
session.save_path = "/var/lib/php/session"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
所以我需要知道如何在用户关闭浏览器时删除 cookie。 (我无法定义过期值,因为应用程序使用了一些处理,这可能需要很长时间才能得到结果)。
你能帮帮我吗?
谢谢
安琪儿
【问题讨论】:
-
我不记得了,但是这个字符串 session.cookie_lifetime = 0 可能会告诉您登录系统的时间,会话的“生命”有多少,0 代表“永远”跨度>
-
@Goikiu:是的。但是如果我输入一个值,问题是用户可能会因为页面的加载时间太长而丢失他想要的结果(我将 hadoop 用于大数据)。我不知道我是否真的很清楚:s
-
是的,你很清楚,你会要求运行太多时间(超过 ini 设置)。
标签: php session cookies session-cookies