Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="DeeperMD"]Бьюсь уже неделю. не могу понять. В основных настройках стоит: [code]Configure::write('Session.start', true);[/code] но при попытке отобразить массив $_SESSION пишет: [code]Array( ) - тобишь пустой[/code] Предчувствие что ссесия не стартанула (не смотря на настройки), ну да ладно где не наша пропадала, стартую сессию в ручную, пишет такую вешь: [code]Warning (2): session_start() [function.session-start]: Cannot send session cache limiter - headers already sent [/code] Ну вот и приехали замкнутый круг. В хэдер данные уже прописаны. CakePHP автоматом не стартует сессию а в ручнуе нифига не проходит.. Что делать? Почему сессия не стартует и где же прописать ручной старт?[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
hevil
Добавлено: 08 Фев 2008 17:22:13
Заголовок сообщения:
не за что
DeeperMD
Добавлено: 08 Фев 2008 16:39:37
Заголовок сообщения:
AAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!
НАШЕЛ.
ПРОБЕЛЫ после ?> в модели.. блин..
Всё тема закрыта..
hevil, спасибо за обсуждение.
DeeperMD
Добавлено: 08 Фев 2008 16:15:21
Заголовок сообщения:
точно чего-то отправил.. в исходника до единицы несколько пробелов..
DeeperMD
Добавлено: 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: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 не видит данных записанных раньше, хотя они там есть.
hevil
Добавлено: 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:11:19
Заголовок сообщения:
А забыл.. Если включать сессии через session_start()
то они работаю тока выдается Warning который выше.
получается что define('CAKE_SESSION_SAVE', 'php'); непричем..
всё настроено..
Добавлю. работаю на Денвере..
hevil
Добавлено: 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 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 автоматом не стартует сессию а в ручнуе нифига не проходит..
Что делать? Почему сессия не стартует и где же прописать ручной старт?
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».