php session_start()报错 解决办法

这段时间开始搞PHP了,第一次用SESSION,就遇到了这个问题,错误提示:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

于是上网找了一下,网上的高手们列出了各种解决办法,这里汇总一下:

1.php.ini中的output_buffering=off 改成output_buffering=4096

2.php.ini中的session.save_path是否设置好了

3.pgp.ini中的session.auto_start = 0 改成session.auto_start = 1

4.php代码session_start() 前面不能有输出,而且必须放在首行;在session_start()的php代码之前的任何字符都被看作headers。
所以解决方法是:
将<? session_start();.......?>放到文件首,并且<? 前面不能有任何字符

但上述4种我都没有成功,后来发现原来是我用UltraEdit-32的UTF-8另存为了一下,因为UTF-8文件头有输出,具体说明见下面,后来用新建过了一个文件把代码复制一下就好了!
包括 Unicode 签名 (BOM) 可在文档中包括字节顺序标记 (BOM)。BOM 是位于文本文件开头的 2 到 4 个字节,可将文件标识为 Unicode,如果是这样,还标识后面字节的字节顺序。由于 UTF-8 没有字节顺序,因此可以选择添加 UTF-8 BOM。对于 UTF-16 和 UTF-32,这是必需的。

你可能感兴趣的:(PHP,session,cache,文档,Path,output)