繁体   English   中英

PHP setcookie()给出“无法修改标题信息 - 标题已发送”警告

[英]PHP setcookie() gives “Cannot modify header information – headers already sent” warning

我已经看过很多次这个问题了,但是这些解决方案都不适用于我的。

这适用于我的电脑,但不适用于网络托管。 它与php.ini或httpd.conf有关吗?

<?php
ob_start();
setcookie("show","1",time() + 300);
?>

<html xmlns="http://www.w3.org/1999/xhtml">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>UDO - Under Development Office</title>

    <body>
        Hello World!
    </body>

</html>

稍后编辑:

<?php 
    var_dump(ob_get_contents());
?>

印刷品: bool(假)

<?php
    ob_start();
    var_dump(ob_get_contents());
?>

打印: 字符串(0)“”

这不是一个重复的问题,因为之前在Stackoverflow上提出的问题都没有解决这个问题。

我必须坚持认为这适用于我的Mac OS X和PHP 5.3.6,但不适用于共享主机(相同的PHP版本)。

我也遇到了这个确切的问题,终于找到了解决方案。 您必须在没有utf-8 BOM签名的情况下保存文件,因为它包含文档顶部的字符。

在adobe dreamviewer中,我只需在保存文件时取消选中“Include Unicode Signature(BOM)”,我的问题就解决了。

这意味着,该输出之前已经开始。 尝试在ob_start()之前读取ob_get_contents()以查找它是什么;

var_dump(ob_get_contents());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM