您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

我学PHP--关于session_start()

2024/4/17 9:20:24发布5次查看
session_start()这个问题,我竟然用了4天来解决.其实网上很多解决的方法,论坛也好多人回答这类的问题,不过最后呢,我还是先在我朋友的电脑上运行php的代码,确认没有写错后,再通过朋友的php.ini来对照,找出不同的地方,然后修改才成功. 现在的状况是依然有警告提示warning: session_start() [function.session-start]: cannot send session cookie - headers already sent in c:phpphpdesigner_output_tmp.php on line 2 不过,代码可以成功运行,$_session的值可以传递到别的页面,那我就不再修改其他的(还没对照到的地方).最后一句感叹,一个人凭兴趣去写程序,真是困难重重!
现在先说我自己的问题.我在网上找session_start()的问题的时候,有的帖子提到要修改session.save_path =c: mp 和session.cookie_path =/
这两个路径为c: mp 然后再添加一个文件夹.但我自己是问题是,session.cookie_path  的值应该是=/惭愧的是我现在还不明白什么是这个值应该是默认路径吧.
其实相关的session_start()的问题还有要将out.put_buffery=on 或者修改成4096 或者session_start()前面加ob_start();还有cache-limiter= ;空,还有apache的缓存是否有开等等,不过对我的问题也没有帮助而已.下面是我在找问题的答案的时候找到的一些关于session_start()的问题的总结,我本来想自己总结,现在就贴出这位兄弟的文章就是了
session问题集锦
对于php的session功能,始终找不到合适的答案,尤其是一些错误,还有一些没有错误的结果,最可怕的就是后者,一直为许多的初学者为难。就连有些老手,有时都被搞得莫名其妙。本文,将这些问题,做一个简单的汇总,以便大家查阅。
1.
错误提示
warning: cannot send session cookie - headers already sent
warning: cannot send session cache limiter - headers already sent
分析及解决办法
这一类问题,的原因是你在程序中使用session_start()时,之前已经有实际的html内容输出了。或许你说,我没有啊,我只不过是echo或print一条消息了。很抱歉,你的echo或print语句所产生的输出,就是实际的html内容输出。解决此类问题的办法是,将你的session_start()调到程序的第一行。
2.
错误提示
warning: open(f:/689phpsessiondatasess_66a39376b873f4daecf239891edc98b5, o_rdwr) failed
分析及解决方法
出现这样的错误语句一般是因为你的php.ini中关于session.save_path一项没有设置好,解决的方法是将session.save_path和session.cookie_path 设置置为
session_save_path = c: emp
session.cookie_path = c: emp
然后在c:目录下建立一个temp目录,即可
3.
错误提示
warning: trying to destroy uninitialized session in
分析及解决方法
出类这样的提示,一般情况都是你直接调session_destroy()函数造成的。很多的朋友认为session_destroy()函数可以独立的运行,其实不然。解决的方法是在你调session_destroy()函数之前,要用session_start()开启session的功能。
4.问题:怎么获得当前session的id值呢?
最简单的方法是:
echo sid;
你会发现的。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录