php session 错误


Posted in PHP onMay 21, 2009

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:/689\php\sessiondata\sess_66a39376b873f4daecf239891edc98b5, O_RDWR) failed
分析及解决方法
出现这样的错误语句一般是因为你的php.ini中关于session.save_path一项没有设置好,解决的方法是将session.save_path和session.cookie_path 设置置为
session_save_path = c:\temp
session.cookie_path = c:\temp
然后在c:\目录下建立一个temp目录,即可
3.
错误提示
Warning: Trying to destroy uninitialized session in
分析及解决方法
出类这样的提示,一般情况都是你直接调session_destroy()函数造成的。很多的朋友认为session_destroy()函数可以独立的运行,其实不然。解决的方法是在你调session_destroy()函数之前,要用session_start()开启session的功能。
4.问题:怎么获得当前session的id值呢?
最简单的方法是:
echo SID;
你会发现的。
5.问题:我的程序,在调用header函数之前没有任何的输出,虽然我include了一个config.php文件,但在config.php文件中也没有任何的输出,为什么session还是会报出与问题1同样的错误呢,是不是因为我在header之前用了session_start()的缘故呢?
答:或许你确实认真的检查了你的php程序,在引用header()之前确实也没有任何的输出,并且在你的include文件中也没有任何的输出!但是你是否用光标键在?>这个PHP代码结束语句后移动检查呢?那么你会发现在?>这个后面,有一个空行或几个空格,你删除了这几个空行或空格,那么问题就解决了。
注:此问题,会出PHP4.1.2中,更高版本,没有测试过。
6.问:用session做登录主页面后,其它页面怎么用session限制登录。。。
答:最简单的方法是
session_start();
if(!session_registered('login') ││ $login != true) {
echo "你没有登陆";
exit;
}
7.问:我用session_register()注册了session变量,可是当我用header或用javascript的重定向语句,那么在一下页面中,我却访问不到session所注册的变量值。请问如何解决?
问题的程序片段:
<?
session_start();
$ok = 'love you';
session_register('ok');
header("location : next.php");
?>
next.php
<?
session_start();
echo $ok;
?>
解决的方法:
当你用header函数或window.location这样的功能后,你上一个页面所注册的session变量,就会容易的丢失,关于这个问题的原因,至今仍没有一个详细的回答。
不过有解决的方法。如下所示
header("Location: next.php" ."?" . SID);
在跳转到下一页面的时候,将session的当前id做为一个参数,传到后一个页面。
8.session如何传数组
session_register('data');
$data=array(1,2,3,4);
方法是先注册后赋值
9.问题9:我是不是可以用像$HTTP_GET_VARS['**']方式来访问session值呢?
回答:可以,你可以使用如下global数组来访问session,以加强网页的安全性
$HTTP_SESSION_VARS
$_SESSION
例程:
<?php
session_start();
$username = 'stangly.wrong';
session_register('username');
echo $HTTP_SESSION_VARS['username'];
echo '<br>';
echo $_SESSION['username'];
?>
请参照此例程修改符合您自己的程序。
问题10:session_unregister() 和 session_destroy() 有何区别?
session_unregister()函数主要作用是注消当前的一个session变量。不过要注意的是,如果你用$HTTP_SESSION_VARS或$_SESSION在当前页面中引用过session变量,那么你可能需要和unset()配合 来注消session变量。
而session_destroy()是清除当前的session环境。意思就是说,当你用session_destroy()函数后,那么你就不可能再用session_is_registered()来检测session的变量了。但是需要注意的是他不能清除global中的session或使用了session cookie的中的session.所以在用session_destroy之前,最好不要用$HTTP_SESSION_VARS $_SESSION来访问session.(译自于php.net)
例程:
if(isset($_COOKIE[session_name()])) {
session_start();
session_destroy();
unset($_COOKIE[session_name()]);
}
转载。

PHP 相关文章推荐
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
php将session放入memcached的设置方法
Feb 14 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
PHP运行模式汇总
Nov 06 PHP
thinkPHP中session()方法用法详解
Dec 08 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
对laravel的session获取与存取方法详解
Oct 08 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 PHP
php print EOF实现方法
May 21 #PHP
php 方便水印和缩略图的图形类
May 21 #PHP
简单的php 验证图片生成函数
May 21 #PHP
PHP 数组入门教程小结
May 20 #PHP
php 无限级 SelectTree 类
May 19 #PHP
PHP日期时间函数的高级应用技巧
May 16 #PHP
PHP 模拟登陆MSN并获得用户信息
May 16 #PHP
You might like
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
ES6学习教程之对象字面量详解
2017/10/09 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
2019年分享net面试的经历和题目
2016/08/07 面试题
介绍一下write命令
2014/08/10 面试题
挑战杯创业计划书的写作指南
2014/01/07 职场文书
我的理想演讲稿
2014/04/30 职场文书
电子商务专业自荐信
2014/06/02 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android