关于PHP中的SESSION技术
Session是服务器端技术,服务器在运行时可以为每一个用户创建一个其独享的session文件,所以用户在访问服务器web资源时,可以把各自的数据放在各自的session中,当用于再去访问该服务器中其他web端资源时,其他web端再从session取出用户各自的数据;
当用户通过客户端浏览页面初始化了Session之后(如:添加购物车,用户登陆等),服务器会将这些session数据保存在:Windows保存在C:\WINDOWS\Temp的目录下,Linux则是保存在/tmp 或 /var/lib/php/session目录下,之后给客户端返回一个Set-Cookie的参数(该参数表示在服务器端创建的Session_ID,可在http协议中看到),当该服务器的其他web端需要Session数据时则客户端会向服务器发送这个Session_ID,服务器就可以从Session文件中查找并调用;
Session的增删改查;(Session是超全局变量数组,存放形式也可以理解成键值对)
添加Session:1.初始化一个Session数据,session_start();2.保存Session数据,$_SESSION[ ' 要保存的键名 ' ] = value;3.Session可以保存所有基本类型的数据;string,intger,double,bool,array,object;
获取Session:1.初始化一个Session数据,session_start();2.使用$_SESSION[ " 键名 " ];(如果我们需要取出一个对象,则需要申明一下类的定义信息);
更新Session:1.初始化一个Session数据,session_start();2.保存Session数据,$_SESSION[ ' 要更新的键名 ' ] = value;
删除Session:1.初始化一个Session数据,session_start();2.删除单个Session键值对使用 unset($_Session["要删除的键名"]);删除全部Session使用session_destroy();
Session数据默认的存在数据为1440s,从php.ini文件中的【Session】节中的 session.gc_maxlifetime 设置,单位为秒,设置完成后重启apache生效;
Session的默认存放路径是可以通过php.ini文件修改,【Session】节中的 session_save_path 设置,设置完成后需重启apache生效;
Session和Cookie的区别:Session是将数据存放在服务器端,Cookie是将信息存放在客户端;