setcookie()总是失败;“已发送邮件头”;甚至遵循php.net上的规则

setcookie()总是失败;“已发送邮件头”;甚至遵循php.net上的规则,php,setcookie,Php,Setcookie,相关代码的peice如下所示。根据php.net,我必须确保没有输出,甚至没有任何空格。没有。php标记是文档中的第一个标记,前面没有空格。我做错了什么 <?php // main.php // 6:48 PM 8/6/2010 include('config.php'); // Does myid cookie exist? if ( !isset( $_COOKIE['myid'] ) ) { // Generate

相关代码的peice如下所示。根据php.net,我必须确保没有输出,甚至没有任何空格。没有。php标记是文档中的第一个标记,前面没有空格。我做错了什么

<?php

    // main.php
    // 6:48 PM 8/6/2010

    include('config.php');

    // Does myid cookie exist?
    if ( !isset( $_COOKIE['myid'] ) )
    {
        // Generate myid
        $myid = substr(md5(date( 'Ymdhis' ) . str_replace( '.', '', $_SERVER['REMOTE_ADDR'] ) ), 0, 10);

        // set the cookie
        setcookie( 'myid', $myid, time() + 31536000 );

在调用
setcookie
之前,即使是从其他脚本调用,也需要没有任何输出


如果
config.php
在打开
之前有空格,一些文本编辑器不会显示所有符号。请尝试在不同的编辑器中打开main.php和config.php,并在无法读取或至少将此错误消息粘贴到此处之前检查是否有错误。它有详细的解释,你做错了什么。
很可能会说输出是从config.php:XXX开始的。很清楚

如果它说输出从main.php:0开始-这很可能是一个字符,您必须使用编辑器保存对话框或其他编辑器在没有它的情况下重新保存文件


始终读取整个错误消息。它不仅说明了什么地方出了问题,而且还经常解释,肯定发生了什么

这正是问题所在谢谢:)