2010-01-23 5 views
0

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

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

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

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

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

<?PHP 
session_start(); 

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

Каков вывод 'echo ini_get ('safe_mode');'? – sberry

+0

Вы помните, что вы делали, прежде чем оно перестало работать? –

+0

@ sberry2a echo ini_get ('safe_mode'); ничего не печатает на экране – JasonDavis

ответ

1

Что-то становится outputed в строке 1 C:\webserver\htdocs\friendproject2\labs\2.php.

Кроме того, откуда это произошло: test?


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

alt text http://i48.tinypic.com/ok4a4k.png


Вы также должны прочитать The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) Джоэл Спольски.

+0

Я только что обновил сообщение с фактическим кодом на этой странице. Тест выполняется из переменной сеанса, работа сессии на странице, если я устанавливаю их на этой странице, просто она не отправит куки-файл и выдаст предупредительные сообщения. – JasonDavis

+0

UTF- * без спецификации - это частичное решение, но PHP ожидает, что его ввод ASCII – symcbean

0

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

0

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

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

C.

Смежные вопросы