php session_start()关于Cannot send session cache limiter - headers already sent 错误解决方法

from: http://www.jb51.net/article/21136.htm
在windows下编程,当使用session_start()方法的时候,有时会报 session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/inpublisher/php1.php:1)这样的错误
id="cproIframe_u2298924_2" width="650" height="200" src="http://pos.baidu.com/acom?adn=3&adp=1&at=0&aurl=&c01=1&cad=1&ccd=24&cec=GBK&cfv=14&ch=0&col=zh-CN&conBW=0&conOP=1&cpa=1&cpro_lu=1%2C%23dfe4f9%2C%23000000%2C%E5%AE%8B%E4%BD%93&dai=2&dis=0&layout_filter=image&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DgwXYeXyQ_OgcpPWpT8y4bOW1jkJc4GZe_WoObPMvf__W3i3CW_au1rZ3Kt88bq8I%26wd%3D%26eqid%3Df296bd800003d78000000005561e7503&ltu=http%3A%2F%2Fwww.jb51.net%2Farticle%2F21136.htm&lu_161=0&lunum=6&n=jb51_cpr&pat=1&pcs=1349x597&pih=80&pis=10000x10000&piw=130&ps=541x209&psr=1366x768&pss=1349x542&ptbg=90&ptp=0&ptt=0&qn=0238998423c38d0e&rad=&rsi0=650&rsi1=200&rsi5=4&rss0=%23FFFFFF&rss1=%23FFFFFF&rss2=%23000000&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=tabcloud_skin_5&stid=5&td_id=2298924&tft=0&titFF=%25E5%25BE%25AE%25E8%25BD%25AF%25E9%259B%2585%25E9%25BB%2591&titFS=14&titSU=0&titTA=left&tlt=0&tn=baiduCustNativeAD&tpr=1444836918256&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u2298924&ti=php%20session_start()%E5%85%B3%E4%BA%8ECannot%20send%20session%20cache%20limiter%20-%20hea&tt=1444836918238.84.180.181" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true">
说是已经有输出,用编辑器打,前面明明什么都没有,原来在使用AJAX的 时候,也出现过这种情况,后来,把这个PHP文件放到linux中打开,会发现,在文件的最前面,会出现“锘 ”这样的一个字符(引号内),把它去掉以后,再运行,OK,运行正常。后来在网上搜索一些文件,给的解释是:UTF8文件的BOM(Byte Order Mark)标志,在保存的时候会自动存入! 
不管它是干嘛的,现在的目的就是把它去掉,我总结的方法有下面三种: 
1、 在Linux下打开,去掉后再保存 
2、 用写字板打开,把光标放到最前后回车,然后再敲删除,重新回到第一行,这样最前面的那个字符就会去掉 
3、 使用UltraEdit编辑器(很好用的一个编辑器,网上多的是,自己下去),打开高级----配置----Unicode/utf-8 检测,把自动检测UTF-8文件,自动检测没有BOM的Unicode文件等前面的勾全去掉,然后你再打开那个文件,就会发觉“锘 ”这个字符出现了,删除就OK了 


笨方法:难道有很多页面的时候,你也这样做吗? 
在PHP页面首部直接设置OB_START();,就可以解决! 

解决办法: 
修改php.ini中的session.auto_start = 0 为 session.auto_start = 1 
output_buffering =改为on或者任何数字。 
然后别忘记重新启动...
参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值