为了忘却的纪念 $bestmost->save("多多益善")
言己及众
PHP博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
PHP的SESSION跨页面传递丢失的问题
近来有网友问我PHP的SESSION跨页面传递丢失的问题。在这里总结一下PHP的SESSION跨页面传递问题的解决方案。注意我们下面涉及到的配置均位于PHP
.
ini 文件,这个文件在WINDOWS下位于C
:
\WINDOWS\php
.
ini 可以用UltraEdit将其打开并逐个检索定位。
首先
确定PHP的SESSION是保存在文件中的。当然大家都知道PHP可以采用用户自定义处理方式进行处理以期达到跨主机共享的目的,这个我们今天不讨论。
session
.
save_handler
=
files
其次
确保记录SESSION在服务器上的保存目录拥有可写的权限。我们在第一步已经指定了SESSION在服务器端以文件形式保存那么它在服务器上肯定就会写在一个文件中。我们要给这个目录足够的权限写入。
;session
.
save_path
=
"
/tmp
"
(去掉前面的;并指定一个IIS进程用户拥有读写权限的目录)
第三
确保记录SESSIONID的COOKIES能够被页面得到,不至于每刷新一次SESSIONID就更换一个。这里主要涉及到两个配置,另外这里还隐含了另外一个问题,一个站点能够保存的COOKIES是有限的,所以当你的站点使用的COOKIES过多时候记录SESSIONID的COOKIES有可能被浏览器丢弃,这里就要求程序员最好将跨页面的变量尽量保存在SESSION传递。
session
.
cookie_path
=
/
(能够读取到COOKIES的目录)
session
.
cookie_domain
=
(能够读取到COOKIES的域名,建议为空)
第四
保证记录SESSIONID的COOKIES不会被提前销毁,COOKIES是有存活时间的,在PHP的配置文件中同样也给出了默认的时间限制。
; Lifetime in seconds of cookie or
,
if
0
,
until browser is restarted
.
session
.
cookie_lifetime
=
999999999
session
.
gc_maxlifetime
=
999999999
session
.
cache_expire
=
999999999
经过以上四步的配置基本上就没问题了,但是页面的调用时候同样可能会出现问题。
在PHP5中建议使用
session_start
(); 来开启回话而后SESSION变量统一放置在
$_SESSION
变量中使用方法无异与普通变
发表于 2008-09-17 09:50
bestmost
阅读(1213)
评论(0)
编辑
收藏
引用
网摘
所属分类:
php模块和类库
只有注册用户
登录
后才能发表评论。
网站导航:
IT新闻
博客园
BlogJava
博客生活
IT博客网
C++博客
程序员招聘
随笔:279 文章:16 评论:48 引用:0
<
2008年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
公告
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔分类
(325)
ajax(8)
(rss)
appche(2)
(rss)
fleaphp(19)
(rss)
hacker(4)
(rss)
html,web相关(34)
(rss)
js(85)
(rss)
linux(2)
(rss)
mysql 及其他(22)
(rss)
php模块和类库(100)
(rss)
seo搜索(13)
(rss)
smarty(7)
(rss)
svn(7)
(rss)
xajax(1)
(rss)
工作心得(19)
(rss)
软件工程(2)
(rss)
all
codebit有效并且可重用的小段代码
如果你是寻找一些小的编程技巧和经典的教程文章,那么您找对地方了,你可以从点击导航里的 【技术文章】 开始。通过重用本站收集的小段代码,您的编程效率有很大提高,偶尔也会自己写一些本站所没有的经典代码
pear安装 php(Appserv)
PEAR套件的管理(图)
Phpgrid php框架
php相关
PHP中相对路径问题
泉城酷仔的博客php
搜索
积分与排名
积分 - 328010
排名 - 3
最新评论
1. re: js中用undefined作判断条件
评论内容较长,点击标题查看
--haix
阅读排行榜
1. 字符编码详解及由来(UNICODE,UTF-8,GBK)[转帖](12382)
2. 根据16进制输出所有汉字(9050)
千百亿工作室
BT促销网