重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联建站服务项目包括志丹网站建设、志丹网站制作、志丹网页制作以及志丹网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,志丹网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到志丹省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
超时设置可通过session的[get|set]MaxInactiveInterval方法实现。如:
session.setMaxInactiveInterval(600);
就是设定session的有效期为10分钟。
我知道session是存在在服务器的由私人所有的,cookie是存在客户端的由私人所有的,servletcontext是存在服务器端集体共享的。不明白会出现什么问题。
这个主要是在php.ini有相关的设置,如果设置session为自动打开就不需要使用session_start();
这个错误好像是session开启之前有输出值 你使用headers_sent()函数测试一下是否有输出值,这个函数的参数是file和line,在你报错的文件代码前写上if(headers_sent($file,$line)) die("can not execute in " . $file . " in " . $line); }试试 ,我也是遇到过这种情况的 和你分享一下
0739p.com/321/2.php 里面的第一行要用session_start();另外使用session 之前不能有任何的输出,空格也不行~检查有没有空格输出,多数都是这样~另外检查你的session配置对不对,session如果是配置成file的要检查有没有权限~
SESSION 要在同一进程下访问才有效。另外在2.php 代码最前要开启使用session 开启方法为 session_start();另外看你语法有没有有问题存在。/
echo session_save_path();?>输出的内容就是目录打开 php.ini文件,搜索 session.save_path可以修改此目录
用session设置会话cookie参数。Session储存于服务器端(默认以文件方式存储session),根据客户端提供的session id来得到用户的文件,取得变量的值,session id可以使用客户端的Cookie或者Http1.1协议的Query_String(就是访问的URL的“?”后面的部分)来传送给服务器,然后服务器读取Session的目录……。也就是说,session id是取得存储在服务上的session变量的身份证。当代码session_start();运行的时候,就在服务器上产生了一个session文件,随之也产生了与之唯一对应的一个session id,定义session变量以一定形式存储在刚才产生的session文件中。通过session id,可以取出定义的变量。跨页后,为了使用session,你必须又执行session_start();将又会产生一个session文件,与之对应产生相应的session id,用这个session id是取不出前面提到的第一个session文件中的变量的,因为这个session id不是打开它的“钥匙”。如果在session_start();之前加代码session_id($session id);将不产生新的session文件,直接读取与这个id对应的session文件。按照上面的思想,我只要把session_id存在在cookie中就可以正常使用session了
答:
PHP透明地支持HTTP cookie。cookie是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。
在解决问题之前,先来了解一下PHP SESSION的工作原理。在客户端(如浏览器)登录网站时,被访问的PHP页面可以使用session_start()打开SESSION,这样就会产生客户端的唯一标识SESSION ID(此ID可通过函数session_id()获取/设置)。SESSION ID可以通过两种方式保留在客户端,使得请求不同的页面时,PHP程序可以获知客户端的SESSION ID;一种是将SESSION ID自动加入到GET的URL中,或者POST的表单中,默认情况下,变量名为PHPSESSID;另一种是通过COOKIE,将SESSION ID保存在COOKIE中,默认情况下,这个COOKIE的名字为PHPSESSID。这里我们主要以COOKIE方式进行说明,因为应用比较广泛。
那么SESSION的数据保存在哪里呢?当然是在服务器端,但不是保存在内存中,而是保存在文件或数据库中。默认情况下,php.ini中设置的SESSION保存方式是files(session.save_handler = files),即使用读写文件的方式保存SESSION数据,而SESSION文件保存的目录由session.save_path指定,文件名以sess_为前缀,后跟SESSION ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。当写入SESSION数据的时候,PHP会获取到客户端的SESSION_ID,然后根据这个SESSION ID到指定的SESSION文件保存目录中找到相应的SESSION文件,不存在则创建之,最后将数据序列化之后写入文件。读取SESSION数据是也是类似的操作流程,对读出来的数据需要进行反序列化,生成相应的SESSION变量。
session是保存在浏览器中,有时间限制,一般用于保存用户信息,缺点是容易丢失。
cookie是保存在客户端中,一般用于记录密码,好下次登录时直接登录,没时间限制,缺点是客户在客户端修改或者删除,后果则是失去效果