> 백엔드 개발 > PHP 튜토리얼 > session_start();报错问题

session_start();报错问题

WBOY
풀어 주다: 2016-06-23 14:01:17
원래의
1219명이 탐색했습니다.

test.php文件内容
include('site_test.php');
?>

site_test.php文件内容
session_start();
header('Content-Type: text/html; charset=utf-8');
?>

当打开test.php时报以下错误,弄了很久也弄不明白,不知为什么?


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/cybertry/public_html/idearforyou.com/site_test.php:1) in /home/cybertry/public_html/idearforyou.com/site_test.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/cybertry/public_html/idearforyou.com/site_test.php:1) in /home/cybertry/public_html/idearforyou.com/site_test.php on line 3


回复讨论(解决方案)

session_start();前面不能有输出

检查site_test.php 中

但现在session_start();前面没有输出啊,想不明白,
就是在包含文件里是这样,如果直接写在test.php里就没有问题。


难道session_start();不能包含在文件里吗?

site_test.php 是什么编码,如果是utf-8编码,确认没有bom头。

而且我在本机电脑测试没有问题,就是上传到服务器后才有这个问题的。

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/cybertry/public_html/idearforyou.com/site_test.php:1) in /home/cybertry/public_html/idearforyou.com/site_test.php on line 2
是说:在 site_test.php 的第二行执行 session_start(); 时,发现 site_test.php 的第一行有输出
显然在 site_test.php 的 

查过了,确实是BOM头的问题,用DR另存为不包含BOM头的就正常了,谢谢大家。

看看。。。。。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿