Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Проблема сессий!!!

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
DeeperMD
Гость
цитировать






СообщениеДобавлено: 08 Фев 2008 14:58:54    Заголовок сообщения: Проблема сессий!!! Ответить с цитатой Изменить/удалить это сообщение

Бьюсь уже неделю. не могу понять.

В основных настройках стоит:
Код:
Configure::write('Session.start', true);


но при попытке отобразить массив $_SESSION пишет:
Код:
Array( ) - тобишь пустой


Предчувствие что ссесия не стартанула (не смотря на настройки), ну да ладно где не наша пропадала, стартую сессию в ручную, пишет такую вешь:
Код:
Warning (2): session_start() [function.session-start]: Cannot send session cache limiter - headers already sent


Ну вот и приехали замкнутый круг. В хэдер данные уже прописаны.

CakePHP автоматом не стартует сессию а в ручнуе нифига не проходит..

Что делать? Почему сессия не стартует и где же прописать ручной старт?
Вернуться к началу
hevil

цитировать



Зарегистрирован: 07 Фев 2008 18:57:18
Сообщения: 17
Откуда: Moscow

СообщениеДобавлено: 08 Фев 2008 15:04:29    Заголовок сообщения: Ответить с цитатой

core.php настройка сессии
/**
* CakePHP включает в себя 3 типа сохранений сессий
* в базе данных или в файлах. Настройте это так как предпочитаете.
* Если вы хотите использовать свое место для хранения, укажите это в
* app/config/name.php НЕ ИСПОЛЬЗУЙТЕ имя файла или базы данных как имя.
*
* Устанавливая значение cake, вы получите сохранение файлов сессии в директорию /cakedistro/tmp
* Устанавливая значение php, вы получите сохранение файлов сессии в директорию php по умолчанию
* Устанавливая значение database, вы получите сохранение данных сессии в базу данных
*
*
*/
define('CAKE_SESSION_SAVE', 'php');
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 08 Фев 2008 15:11:19    Заголовок сообщения: Ответить с цитатой

А забыл.. Если включать сессии через session_start()
то они работаю тока выдается Warning который выше.

получается что define('CAKE_SESSION_SAVE', 'php'); непричем..

всё настроено..

Добавлю. работаю на Денвере..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
hevil

цитировать



Зарегистрирован: 07 Фев 2008 18:57:18
Сообщения: 17
Откуда: Moscow

СообщениеДобавлено: 08 Фев 2008 15:39:05    Заголовок сообщения: Ответить с цитатой

DeeperMD писал(а):
А забыл.. Если включать сессии через session_start()
то они работаю тока выдается Warning который выше.
Добавлю. работаю на Денвере..

ну чтоб не выдавались Warning можно первой строчкой в php-скрипте написать ob_start() - включить кэширование отправляемых заголовков, но это решение через ж.

скажу так: только позавчера поставил себе cake и юзаю его со всеми стандартными настройкими (тоже на денвере), никаких проблем не замечал.

Цитата:
получается что define('CAKE_SESSION_SAVE', 'php'); непричем..

всё настроено..

Ну значит не все настроени, коли не работает.
Параметр CAKE_SESSION_SAVE у тебя какое значение имеет?

Ну и попробуй в своем контроллере протестить:
$this->Session->write('test', '1');
echo $this->Session->read( 'test' );
echo $this->Session->error();
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 08 Фев 2008 15:49:35    Заголовок сообщения: Ответить с цитатой

$this->Session->write('test', '1');
print_r( $this->Session->read());
echo $this->Session->error();

Выдает:
Array ( [test] => 1 )

Поэтому я и говорю что сессии работают.. Но то что я писал раньше в сессии нет. А где то что я писал раньше.

Если я делаю так:
Код:
session_start();
$this->Session->write('test', '1');
print_r( $this->Session->read());
echo $this->Session->error();


Получется аот так:

Warning (2): session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

И сессия выглядит уже так

Код:
Array ( [Config] => Array ( [userAgent] => e03ef084b68c376416e596e50f90c0ec [time] => 1202654522 [rand] => 25640 [timeout] => 10 ) [user] => Array ( [id] => 1 [username] => deeper [photo] => howard.jpg [spec] => ) [test] => 1 )

Полуается как будто CakePHP не видит данных записанных раньше, хотя они там есть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 08 Фев 2008 16:12:17    Заголовок сообщения: Ответить с цитатой

Даю информацию к размышлению..

Залез сюда: /cake/libs/session.php

и поставил в это функции метки:
Код:
function __startSession() {
      if (headers_sent()) {
         if (!isset($_SESSION)) {
            $_SESSION = array();
            [b]print("1");[/b]
         }
         return false;
      } elseif (!isset($_SESSION)) {
         session_cache_limiter ("must-revalidate");
         session_start();
         [b]print("2");[/b]
         header ('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
         return true;
      } else {
         session_start();
         return true;
      }
   }


Результат удивил. Выдала "1". что это значит. Что сессия пытается открыться после того как в хэдер ушли данные.. Где этот баг искать.. может я чё то уже отправил туда..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 08 Фев 2008 16:15:21    Заголовок сообщения: Ответить с цитатой

точно чего-то отправил.. в исходника до единицы несколько пробелов..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 08 Фев 2008 16:39:37    Заголовок сообщения: Ответить с цитатой

AAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!

НАШЕЛ.

ПРОБЕЛЫ после ?> в модели.. блин..

Всё тема закрыта..

hevil, спасибо за обсуждение.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
hevil

цитировать



Зарегистрирован: 07 Фев 2008 18:57:18
Сообщения: 17
Откуда: Moscow

СообщениеДобавлено: 08 Фев 2008 17:22:13    Заголовок сообщения: Ответить с цитатой

не за что Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru