如果使用基于cookie的session(cookie-based sessions),那么在使用Session_start()之前浏览器不能有任何输出,否则会出现"Cannot send session cache limiter – headers already sent"错误,所以首先要确保Session_start()在开始输出之前执行,一般直接放到php文件的最上方.
如果Session_start()已经在文件的最上方,且php文件为utf8编码,那这个错误很可能就是由这个php文件的utf-8的BOM问题引 起的,您需要设置您的编辑器在编辑utf-8文件时不添加BOM 以Edit plus为例:您需要将工具->参数->文件->UTF_8签名一项中,"总是添加签名"选项改为"总是移除签名".这样重新编辑保存 相应文件后就能解决这个问题.
我是使用的是notepad++,出现了如下错误:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /data/www/huikaiche.com/163weibo/callback.php:1) in /data/www/huikaiche.com/163weibo/callback.php on line 3
按照上面的解决方法,将文件设置成 UTF-8无BOM的编码格式 就可以了,如图:

原载: 大连网站制作 http://www.noonenet.cn/