PHP使用小结:(2) PHP session_start() Warning的解决方案

本文详细解释了如何解决PHP session_start()使用时出现的警告问题,包括通过调整output_buffering设置和使用ob_start函数来避免发送错误的头部信息。特别强调了在使用UTF-8编码时去除BOM的重要性,以及使用Notepad++进行文件转换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


session_start()使用的时候,总会出现这种问题。

 

Warning: session_start() [ function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/u114264/include/db_mysql.class.php:1) in /home/u114264/login1.php on line 3

Warning: session_start() [ function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u114264/include/db_mysql.class.php:1) in /home/u114264/login1.php on line 3


地址解决方案。

最通常的解决方案。打开output_buffering = 4096 或者 On;  全局性质。

 

第二种解决方案。

 

ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
 

 

注意的地方:

 

如果使用utf-8编码,一定要去掉UTF-8中的BOM,这都是因为utf-8编码文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打开转换一下。

 

 

 

转载于:https://www.cnblogs.com/GeeWu/archive/2011/05/28/php_warning.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值