我有一个PHP文件,保存为utf-8编码。该文件具有标题重定向功能,上面没有任何空格或html。如果在本地机器上运行它没有任何问题。但如果在网上运行显示错误:
警告:无法修改标头信息 - 已发送的标头 (输出从/home/nikahservi/public_html/Admin/Home.php:1开始) 第1行/home/nikahservi/public_html/Admin/Home.php
我试过以下三种代码:请帮助我。
1)
<?php header("Location:index.php");exit();?>
2)
<?php header('Content-Type: text/html; charset=utf-8');
header("Location:index.php");exit();?>
3)
<?php header("Cache-Control: no-cache, must-revalidate");header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");header('Content-Type: text/html; charset=utf-8');
header("Location:index.php");exit();?>
答案 0 :(得分:0)
意外的空格,通常在文件的开头或结尾,如下所示:
THERE SHOULD BE NO BLANK SPACES HERE
<?php
echo "your code here";
?>
DO CHECK FOR BLANK SPACES HERE AS WELL; THIS LINE (blank line) SHOULD NOT EXIST.
如果不是这种情况,那么您可以使用ob_start进行输出缓冲,如下所示:
可能的解决方案2:
<?php
ob_start();
// code
ob_end_flush();
?>
OR
:
之后应该有一个空格,因此它会显示"Location:
http://foo"
Location
中使用相对网址无效
标题,你应该形成一个绝对的URL
http://www.example.com/some/path.php
答案 1 :(得分:0)
最后,我通过将Windows的默认记事本更改为Notepad ++找到了解决方案。该错误是由记事本中的病毒创建的。病毒给记事本带来了隐藏的价值。所以现在一切都很清楚了。