Нов сървър и Cannot send session cookie

kitchenbg

Registered
Здравейте преместих страницата на нов сървър и сега ми показва тази грешка:

Код:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/.../.../.../....php:2) in /home/.../.../.../....php on line 13

на този ред започва сесия, но тя определено ми трябва, как може да се оправи това, да има сесия и да не се появява тази грешка?
 
До колкото знам session_start() трябва да бъде винаги в началото.
Демек да започваш така
Код:
<?php session_start; 
код
?>
 
dunix каза:
До колкото знам session_start() трябва да бъде винаги в началото.
Демек да започваш така
Код:
<?php session_start; 
код
?>
Не е задължително да започваш със сесията - просто не трябва да пращаш текст преди да извикаш функцията session_start().
output started at /home/.../.../.../....php:2) in /home/.../.../.../....php on line 13
И грешката според мен означава, че във файла със сесията преди създаването й имаш include '';, и в този друг файл имаш echo. Което значи че пращаш текст преди сесията...
PHP:
<?
код //може echo-то да е тук
include 'file.php';//тук някъде има echo или print или все едно какво
код //може echo-то да е тук
session_start();//това трябва да е преди echo
?>
 
kitchenbg каза:
Здравейте преместих страницата на нов сървър и сега ми показва тази грешка:

Код:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/.../.../.../....php:2) in /home/.../.../.../....php on line 13

на този ред започва сесия, но тя определено ми трябва, как може да се оправи това, да има сесия и да не се появява тази грешка?
Проблема е 100% в енкодинга на файловете, при местене се прецаква.
Чекни дали е както трябва
 
stonybg каза:
за да избегнеш проблема ползвай
ob_start в началото на страницата и ob_end_flush(); ж края
Това е решение което Всеачески трябва да се избягва :) Няма да влизам в подробности защо, просто защото темата е разстягана надълго и широко в нета :) Или е енкодинга на файловете или просто си премести sesion_start в началото на документа. За да не гадаем на буркан с ракия, няма да е лошо да поставиш и самия код за да се види къде може евентуално да дава грешка :)
 
dakata__92 каза:
stonybg каза:
за да избегнеш проблема ползвай
ob_start в началото на страницата и ob_end_flush(); ж края
Това е решение което Всеачески трябва да се избягва :) Няма да влизам в подробности защо, просто защото темата е разстягана надълго и широко в нета :) Или е енкодинга на файловете или просто си премести sesion_start в началото на документа. За да не гадаем на буркан с ракия, няма да е лошо да поставиш и самия код за да се види къде може евентуално да дава грешка :)
Яасно ми е за и протива на ob_start но ако е система няма как да му помогнем че госпот знае каде се получава подаването на енкодинг или други чудесий :)
 
Не е задължително! Понякога се случва грешка и ако е свалил от хоста страницата енкодинга да е различен (ANSI примерно). :)
 
dakata__92 каза:
Не е задължително! Понякога се случва грешка и ако е свалил от хоста страницата енкодинга да е различен (ANSI примерно). :)
Да може да е в енкодинга но вероятноста е почти нулева, енкодинга на фаила се смения само от едитора не от довнлоад, по принцип сървара нетрябва да ти променя фаила и на йота от това както си го качи, до сега този проблем са е появява когато някой работи с система която непознава и незнае как се стартират разлияните модули на системата за него стартирането на сесията е в началото на файла но за системата просто е след една камара други включвания.
 
stonybg каза:
dakata__92 каза:
Не е задължително! Понякога се случва грешка и ако е свалил от хоста страницата енкодинга да е различен (ANSI примерно). :)
Да може да е в енкодинга но вероятноста е почти нулева, енкодинга на фаила се смения само от едитора не от довнлоад, по принцип сървара нетрябва да ти променя фаила и на йота от това както си го качи, до сега този проблем са е появява когато някой работи с система която непознава и незнае как се стартират разлияните модули на системата за него стартирането на сесията е в началото на файла но за системата просто е след една камара други включвания.
Ако ползваш editor-а на хостинга си и сейфнеш някой хостинги те питат дали да промениш енкодинга и просто по невнимание може да стане. Да в случая според мен е защото sesion_start не е в началото на документа и преди него се извежда някаква информация. Както казах без код можем да гадаем само и да спамим излишно. Принципно предложенията са написани ред е на автора да се изкаже кйде е бил или още е проблема :)
 
stonybg каза:
dakata__92 каза:
Не е задължително! Понякога се случва грешка и ако е свалил от хоста страницата енкодинга да е различен (ANSI примерно). :)
Да може да е в енкодинга но вероятноста е почти нулева, енкодинга на фаила се смения само от едитора не от довнлоад, по принцип сървара нетрябва да ти променя фаила и на йота от това както си го качи, до сега този проблем са е появява когато някой работи с система която непознава и незнае как се стартират разлияните модули на системата за него стартирането на сесията е в началото на файла но за системата просто е след една камара други включвания.
След като пишете поне влагайте малко опит, аз съм го казал защото не един или два пъти при местене на друг хост ми се е случвало енкодинга да се променя
 
Няма нужда да се влага опит от проблеми с енкодинг просто защото проблема е описан от ерора.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/.../.../.../....php:2) in /home/.../.../.../....php on line 13

http://web-tourist.net/forum/viewtopic.php?t=109109

http://uroci.net/forum/index.php?showtopic=23968 (не е реклама)
 
dakata__92 каза:
Няма нужда да се влага опит от проблеми с енкодинг просто защото проблема е описан от ерора.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/.../.../.../....php:2) in /home/.../.../.../....php on line 13

http://web-tourist.net/forum/viewtopic.php?t=109109

http://крадци.нет/forum/index.php?showtopic=23968 (не е реклама)
Ти разбрали изобщо какво написах?
Не вярвам да е от това проблема / толкова елементарна грешка да се допусне е смешно
 
uphero каза:
dakata__92 каза:
Няма нужда да се влага опит от проблеми с енкодинг просто защото проблема е описан от ерора.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/.../.../.../....php:2) in /home/.../.../.../....php on line 13

http://web-tourist.net/forum/viewtopic.php?t=109109

http://крадци.нет/forum/index.php?showtopic=23968 (не е реклама)
Ти разбрали изобщо какво написах?
Не вярвам да е от това проблема / толкова елементарна грешка да се допусне е смешно
А ти четеш ли грешката изобщо ?
 
здравейте, проблема се реши ... но как и аз дори незнам, смисъл може би беше от енкодинга ... беше си utf-8 без bom, смених го няколко пъти с bom и без bom и се оправи, като сега е без bom и така сега няма проблем със сесията ... благодарско все пак за дискусията относно това как да оправя проблема.
 

Back
Горе