ok7758521ok

人往往因情入圣,因爱入魔,只有瞬时间的顿悟才是至高的境界。

李天华ID:ok7758521ok
34627次访问,排名3300好友6人,关注者11
开发工程师
ok7758521ok的文章
原创 86 篇
翻译 1 篇
转载 31 篇
评论 4 篇
ok7758521ok的公告
人往往因情入圣,因爱入魔,只有瞬时间的顿悟才是至高的境界。
最近评论
世界友好网:同一个世界,同一个理想
(世界友好网www.sjyh.org)
zhousyis66:楼上的请提供程序包
不要贴
heiyeluren:转载不说明出处,哼~~~~嘎嘎
Thaiki:现顶了
文章分类
收藏
    相册
    o m i
    桌面
    php相关链接
    PHPchina国内权威的PHP技术论坛
    php官方网站
    一本书计划
    喜悦国际,专业的phper论坛
    老韩,我的兄弟,HOHO为人yes,做事,yes,文采great!!
    超越php论坛
    黑夜路人(俺兄弟)开源世界
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 PHP5 session收藏

    新一篇: 解决图片显示比例匹配问题,我个人建议用js重新定义长宽 | 

    php5中session的默认实现方式是cookies原理.

    将session_id存储于客户端中,将session_name等session变量存储与服务器session_path指定的目录中

    每当客户端发送HTTP请求时都会同时发送session_id过去,服务器根据session_id获取相应的值信息

    session_id的发送如果客户端cookies被禁止了那么PHP5会自动采用URL的方式发送

    session的配置项目中

    php.ini中有关session的一些设定会影响到session函数的使用,所以我们先整体了解一下php.ini中有关session的设定。
    以php5版本为例

    ;处理session存取的模式(预设:files)
    session.save_handler = files

    ;session档案存放路径(预设:/tmp)
    session.save_path = /tmp

    ;session使用cookie的功能(预设:启动 1)
    session.use_cookies = 1

    ;session的名字(预设:PHPSESSID)
    session.name = PHPSESSID

    ;自动启动(预设:关 0,此处可以改为1)
    session.auto_start = 0

    ;session使用cookie的生存期,以秒为单位(预设:随浏览器关闭而消失 0)
    session.cookie_lifetime = 0

    ;session使用cookie的路径(预设:与domian相同或根路径 /)
    session.cookie_path = /

    ;session使用cookie的域名称(预设:空)
    session.cookie_domain =

    ;处理连续资料的方式,本功能只有WDDX模组或PHP内部使用(预设:php)
    session.serialize_handler = php


    ;按千分之一的比率进行垃圾收集
    ;垃圾收集的处理几率(预设:1)
    session.gc_probability = 1
    ;设置进程比率,(php5新增参数,预设:1000)
    session.gc_divisor = 1000

    ;(垃圾收集)被处理前的生存期(预设:1440[秒])
    session.gc_maxlifetime = 1440

    ;PHP 4.2和以前的版本都有个BUG,即使你禁止了"允许注册全局变量".仍然可以让你在全局变量范围中初始化一个SESSION的值
    ;PHP 4.3 和以后的版本会发出相应的警告,你可以禁止警告.PHP5中,只有你打开了bug_compat_42(=ON),警告才会显示.
    session.bug_compat_42,0
    session.bug_compat_warn = 1

    ;session在重新整理时检查session是否还存在(预设:空)
    session.referer_check =

    ;特别设定session值的长度(预设:关)
    session.entropy_length = 0

    ;特别设定session值的文件
    session.entropy_file =

    ;使用cache限制器(预设:不要cache)
    session.cache_limiter = nocache

    ;使用cache的生存期
    session.cache_expire = 180

    ;使用sid值(session_id)传送模式(基于安全,预设:关)
    session.use_trans_sid = 0

    ;选择一个HASH函数,0为MD5(128比特强度),1为SHA-1(160比特强度)
    session.hash_function = 0

    ;定义当转换2进制hash数据为一些可读的数据时,每个字符存储多少个比特.
    ;4 比特: 0-9, a-f
    ;5 比特: 0-9, a-v
    ;6 比特: 0-9, a-z, A-Z, "-", ","
    session.hash_bits_per_character = 5

    ;URL重指向的标签
    url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

    对以上设置进行修改以后应该重启Apache服务器,以加载以上的修改。

    在使用session时一般也就是以下几个步骤:
    1.启动session,使用session_start()函数;
    如果使用的状态是cookie base的session传递方式,之后程式的开头都必须使用session_start()函数,而且一定要放在页面开头,之前不能有任何结果输出(比如:echo输出或者html)
    如果在php.ini的设置中session.use_trans_sid = 1,点击页面上的连接可以正常传值到第二页,网址会自动加上(举例)[?PHPSESSID=8234c3f661bd1eac450c23d5650e0881]
    如果在php.ini的设置中session.use_trans_sid = 0,需要使用URL的方式传递session id,[SID]是php在启动session后自动产生的变量,可以在URL中使用,如:第二页(URLs)
    传递过来的第二页也要先启动session,调用session_start()函数。

    2.注册session,不推荐使用session_register()函数,使用$_SESSION[]来注册;
    需要先调用session_start()函数,使用$_SESSION["session_name"] = "session_value";的方式注册session

    3.清楚session,使用session_destroy()函数
    结束session,同时删除session文件,需要事先调用过session_start()

    4.取得session的id,使用session_id()函数

    5.查看session是否已被注册,使用session_is_registered()函数


    下面再将跟session有关的函数罗列一下,用到自己查php手册即可
    session_cache_expire ;得到目前cache的存活时间
    session_cache_limiter ;得到或设计目前cache的限制器
    session_decode ;从某一字符串进行session资料的解码
    session_destroy ;注销一个session
    session_encode ;把session字符串进行编码
    session_id ;得到或设定目前的session id
    session_is_registered ;检测session是否已经建立
    session_module_name ;取得或设定目前session的组能
    session_name ;取得或设定目前session的名称(预设:PHPSESSID)
    session_regenerate_id ;更新当前的session id
    session_register ;注册session
    session_save_path ;得到或设定目前session文件的存储路径
    session_start ;启动session
    session_unregister ;注销某个指定的session
    session_unset ;释放所有session里的资料
    session_write_close ;写入session资料并结束session功能
    session_set_save_handler;设定使用者session的存储方式
    session_get_cookie_params ;取得session在cookie的参数
    session_set_cookie_params ;设定session在cookie的参数 

     

    发表于 @ 2007年06月07日 15:48:00|评论(loading...)|编辑

    新一篇: 解决图片显示比例匹配问题,我个人建议用js重新定义长宽 | 

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © ok7758521ok