PHP сессионные куки перестали работать только на моем сервере - PullRequest
0 голосов
/ 23 января 2010

У меня странная проблема с моим сервером разработки. Всего несколько часов назад PHP сессия просто перестала работать. Каждый файл (сотни) начал показывать ошибки, как показано ниже, о том, что сеансовые куки не записываются. Я не могу понять, в чем проблема, почему это просто начинает происходить, пока все не заработало, и я даже не внес никаких изменений. Хуже всего то, что я не могу заставить его работать. Я пробовал разные браузеры, перезагружал сервер, даже перезагружал компьютер. Ничего не помогает, есть идеи, что я могу сделать? Это действительно безумие

Обратите внимание, что у меня нет пробелов или чего-либо печатного на экране перед вызовом session_start () либо

Предупреждение: session_start () [function.session-start]: невозможно отправить cookie сеанса - заголовки уже отправлены по (вывод начался в C: \ вебсервер \ HTDOCS \ friendproject2 \ лабораторий \ 2.php: 1) в C: \ вебсервер \ HTDOCS \ friendproject2 \ лабораторий \ 2.php по линии 3

Предупреждение: session_start () [function.session-start]: невозможно отправить ограничитель кэша сессии - заголовки уже отправлено (вывод начался в C: \ вебсервер \ HTDOCS \ friendproject2 \ лабораторий \ 2.php: 1) в C: \ вебсервер \ HTDOCS \ friendproject2 \ лабораторий \ 2.php на линии 3 тест

Как я уже говорил, это происходит с КАЖДЫМ файлом моего сайта, даже с простыми файлами. Ошибка, которую я отправил, из файла так же просто, как этот ...

<?PHP
session_start();

$_SESSION['test'] = 'test';
echo 
$_SESSION['test'];
?>

Ответы [ 3 ]

1 голос
/ 23 января 2010

Что-то выходит в строке 1 C:\webserver\htdocs\friendproject2\labs\2.php.

Кроме того, откуда взялось это test?


Похоже, проблема заключалась в кодировке файла, вы всегда должны использовать UTF-8 без спецификации в качестве предпочтительной кодировки для файлов .php, таких редакторов кода, как Intype позволяет легко указать это (UTF-8 Plain).

alt text


Вы также должны прочитать Абсолютный минимум, который должен знать каждый разработчик программного обеспечения Абсолютно, положительно должен знать о юникоде и наборах символов (без оправданий!) от Джоэла Спольски.

0 голосов
/ 23 января 2010

Без каких-либо изменений в коде и нескольких затронутых страницах мой первый порт вызова состоял бы в том, чтобы проверить, было ли добавлено автоматическое добавление конфигурации веб-сервера (или php.ini или .htaccess).

Это может привести к сбою кода примера sberry2A. Если код sberry2A работает, проверьте наличие хитрых символов в общем включаемом файле.

С

0 голосов
/ 23 января 2010

Если start_session () находится во включаемом файле, убедитесь, что вы включили этот файл ПЕРЕД тем, как что-то выводите на страницу. Вот почему говорится, что заголовки уже отправлены. У меня была эта проблема раньше, если start_session () не самая первая вещь.

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