PHP setcookie () выдает предупреждение «Невозможно изменить информацию заголовка - заголовки уже отправлены» - PullRequest
0 голосов
/ 29 ноября 2011

Я видел эти вопросы миллионы раз, но ни одно из решений не работает для меня.

Это работает на моем компьютере, но не на веб-хостинге. Это как-то связано с 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 (false)

И

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

Отпечатки: строка (0) ""

Это не повторяющийся вопрос, поскольку ни один из вопросов, заданных ранее в Stackoverflow, не решил эту проблему.

Я должен настаивать на том, что это работает на моем Mac OS X с PHP 5.3.6, но не на общем хосте (та же версия PHP).

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

Я также столкнулся с этой проблемой и, наконец, нашел решение. Вы должны сохранить файл без подписи спецификации utf-8, так как в нем есть символ в верхней части документа.

В Adobe DreamViewer мне просто пришлось снять флажок «Включить подпись Unicode (BOM)» при сохранении файла, и моя проблема была решена.

0 голосов
/ 29 ноября 2011

Это означает, что вывод уже начался раньше. Попробуйте прочитать ob_get_contents () перед ob_start (), чтобы найти, что это было;

var_dump(ob_get_contents());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...