我在一个名为Ajax的PHP文件中有以下代码(注意--该代码是实际代码的精简版,但仍然会产生错误:
<?php
session_start();
$response = array(
'status'=>'abc',
'a'=>'abc',
'b'=>'abc',
'c'=>'abc'
);
header('X-JSON: '.json_encode($response));
exit;?>
在开幕前绝对没有空位或任何东西。
然而,当我调用脚本时,我得到了:
‘11-2009年8月-2009年14:56:13 PHP通知:一个会话已经启动-忽略第2行\test\action.php中的session_start()
2009年8月11日14:56:13 PHP警告:不能修改标题信息--第10行的\test\action.php中已经发送的标题(输出从\test\action.php开始)
第2行是session_start()命令,第10行是header()命令。
所以PHP告诉我,它忽略了session_start,然后立即告诉我,实际上这一行产生了output....whats?
发布于 2009-08-11 14:04:57
不管你信不信,犯罪结果是.
'[11-Aug-2009 14:56:13] PHP Notice: A session had already been started - ignoring session_start() in \test\action.php on line 2要么抑制错误消息(开发中的错误想法),要么找出您从何处开始会话(这正是您需要解决这个问题的方法)。
发布于 2009-08-11 14:04:11
它可能与这个question of mine有关。
发布于 2009-08-11 14:06:53
检查文件中是否有一个名为BOM ()的讨厌的小讨厌鬼。如果您已经将该文件编码为utf-8,并且可以使用firebug来捕获它,这是可能的。
https://stackoverflow.com/questions/1260575
复制相似问题