php session_start()出错原因分析及解决方法
错误提示: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
原因:在session_start()之前如果有输出内容,会出错,
解决办法:在session_start()之前加上ob_start();
<?php
error_reporting(-1);
ob_start();//不加会出错,无法写入session
register_shutdown_function('close');
echo 1;
session_start();
$_SESSION['password']='mima2ddddddddddddddda2';
function close()
{
if(session_id()!=='')
@session_write_close();
}
?>
<a href="index2.php" >index2</a>
<?php
error_reporting(-1);
ob_start();//不加会出错,无法读取session
?
echo 1;
session_start();
echo $_SESSION['password'];
var_dump($_SESSION);
?>
<a href="index.php" >index</a>
相关推荐
-
PHP 出现乱码和Sessions验证问题的解决方法!
在PHP脚本中读出中文或者其他语言文字为乱码的时候,首先检查你的文件格式是不是用UTF8的编码格式保存的.如果不是请用UltraEdit...等一些对UTF8支持转换的工具转换一下,最好不要用MS的记事本直接另存为转换,我开始的时候就是犯了这样一个错误.如果你是在 Dreamweaver 中编辑请按照:编辑--->首选参数--->新建文档 把语言设置为UTF8编码. 关于SESSION验证问题:一开始我的文档都是用GB2312编写的,后来有一个网站需要用UTF-8的编码,我就把我的一些文件用M
-
php提示Failed to write session data错误的解决方法
本文较为详细的分析了php提示Failed to write session data错误的解决方法.分享给大家供大家参考.具体方法如下: 一.问题: 提示信息:Warning: Failed to write session data (files).Please verify that the current setting of session.save_path is correct () in Unknown on line 0 二.解决方法: 代码如下: 复制代码 代码如下: ses
-
PHP关于IE下的iframe跨域导致session丢失问题解决方法
今天搞的一个登录页面,被别的网站用iframe嵌进去后,死活无法登录(只在IE中存在这种情况). 很明显,session无法被保存.但是直接在地址栏打开那个登录页面,一切都正常啊.真是奇怪啊. 在网上搜索了一下.发现这个问题还真有不少人提及到.最后的解决方法是在那个登录页面里加上以下代码: 复制代码 代码如下: <span style="font-family:Microsoft YaHei; font-size:14px">header('P3P: CP="AL
-
php5.3 不支持 session_register() 此函数已启用的解决方法
php从5.2.x升级到5.3.2.出来问题了.有些原来能用的程序报错了.报错内容是Deprecated: Function session_register() is deprecated查了一下是5.3这个session_register就不让用了,降回去?不爽.搜了一把,有个解决方法是写一个函数 复制代码 代码如下: <?php // Fix for removed Session functions function fix_session_register(){ function se
-
PHP Session变量不能传送到下一页的解决方法
我认为,出现这个问题的原因有以下几点: 1.客户端禁用了cookie 2.浏览器出现问题,暂时无法存取cookie 3.php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-sid选项 为什么会这样呢?下面我解释一下: Session储存于服务器端(默认以文件方式存储session),根据客户端提供的session id来得到用户的文件,取得变量的值,session id可以使用客户端的Cookie或者Http1.1协议的Query_
-
phpmyadmin出现Cannot start session without errors问题解决方法
PHPMYADMIN出问题了,总一个劲报错. 复制代码 代码如下: Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. 配置文件被改到乱七八糟了,不断地重启IIS重启MYSQL,都没有解决. 但有时候呢,却又没问题,想不出是哪边有问题- 后来随便瞎搞,终于有
-
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
近期做一个网站的投票时,遇到ThinkPHP中的cookie和session冲突导致Cookie不能使用的情况. 该网站采用的是ThinkPHP框架制作,有一页面上面展示很多图片,要求每个图片下面有对应的投票,通过限制ip地址来,限制游客在一定时间范围内,能对多个图片投票,但是每个图片只能投票一次,开始使用ip存储在数据库解决,后来改进为使用session存储,ip在服务文件里,不过要把生成的sessionid存储在本地的cookie中,按照ThinkPHP手册说明操作session一切顺利,但
-
php验证session无效的解决方法
本文实例讲述了php验证session无效的解决方法.分享给大家供大家参考.具体方法如下: 一.问题 今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以生成,在登录验证时发现session为空,并没有值了. 二.解决方法 环境:apache+php 程序代码如下: 复制代码 代码如下: <input name="username" type="text" class="input" id="use
-
ThinkPHP框架实现session跨域问题的解决方法
ThinkPHP的session跨域问题很多开发者都遇到过! 其实不管是ThinkPHP还是php本身,在解决session跨域问题的时候都需要设置session.cookie_domain. 在ThinkPHP里,需要修改配置文件conf/config.php 在第一行加上: ini_set('session.cookie_domain', ".domain.com");//跨域访问Session 经过总结,针对session跨域这一问题的解决方法主要有以下几种: 第一种情况:如果你
-
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
说是已经有输出,用编辑器打,前面明明什么都没有,原来在使用AJAX的 时候,也出现过这种情况,后来,把这个PHP文件放到linux中打开,会发现,在文件的最前面,会出现"锘 "这样的一个字符(引号内),把它去掉以后,再运行,OK,运行正常.后来在网上搜索一些文件,给的解释是:UTF8文件的BOM(Byte Order Mark)标志,在保存的时候会自动存入! 不管它是干嘛的,现在的目的就是把它去掉,我总结的方法有下面三种: 1. 在Linux下打开,去掉后再保存 2. 用写字板打开,把
-
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
做开发的时候,操作session有时候会遇到这个问题:Warning: session_start() [function.session-start]-- 系统环境:WIN2003+IIS6+PHP5.2.12 PHP出现类似如下错误: Warning: session_start()[function.session-start]: ...... failed: No such file or directory......等情况, 可以偿试修改一下php.ini文件中的session.au
随机推荐
- Docker 限制容器的 Block IO使用
- AngularJS中的过滤器使用详解
- ASP.NET中Label控件用法详解
- JavaWeb项目中dll文件动态加载方法解析(详细步骤)
- 在PHP语言中使用JSON和将json还原成数组的方法
- php实现mysql数据库操作类分享
- ASP利用XMLHTTP实现表单提交以及cookies的发送的代码
- 深入理解Java中的HashMap的实现机制
- JavaScript 内置对象属性及方法集合
- 微信小程序开发教程-手势解锁实例
- Redis sort 排序命令详解
- VNC:Linux下的远程遥控专家
- linux 入侵常用命令汇编
- jQuery对象和DOM对象的相互转化实现代码
- urlscan.ini中文详解注释
- Java实现求子数组和的最大值算法示例
- HTML静态页面引入公共html文件(ssi服务器端指令详解)
- Django 1.10以上版本 url 配置注意事项详解
- 使用Spring Data Redis实现数据缓存的方法
- JS基于开关思想实现的数组去重功能【案例】