cakePHP "session" не возвращает идентификатор сессии - PullRequest
1 голос
/ 12 июля 2010

Я занимаюсь разработкой веб-приложения на основе cakePHP.

Вот мои настройки core.php для обработки сеанса

  Configure::write('Session.save', 'database');
/**
 * The name of the table used to store CakePHP database sessions.
 *
 * 'Session.save' must be set to 'database' in order to utilize this constant.
 *
 * The table name set here should *not* include any table prefix defined elsewhere.
 */
    Configure::write('Session.table', 'cake_sessions');
/**
 * The DATABASE_CONFIG::$var to use for database session handling.
 *
 * 'Session.save' must be set to 'database' in order to utilize this constant.
 */
    //Configure::write('Session.database', 'default');
    Configure::write('Session.start', true); 
/**
 * The name of CakePHP's session cookie.
 */
    Configure::write('Session.cookie', 'CAKEPHP');
/**
 * Session time out time (in seconds).
 * Actual value depends on 'Security.level' setting.
 */
    Configure::write('Session.timeout', '300');
/**
 * If set to false, sessions are not automatically started.
 */
    Configure::write('Session.start', true);
/**
 * When set to false, HTTP_USER_AGENT will not be checked
 * in the session
 */
    Configure::write('Session.checkAgent', true);
/**
 * The level of CakePHP security. The session timeout time defined
 * in 'Session.timeout' is multiplied according to the settings here.
 * Valid values:
 *
 * 'high'   Session timeout in 'Session.timeout' x 10
 * 'medium' Session timeout in 'Session.timeout' x 100
 * 'low'        Session timeout in 'Session.timeout' x 300
 *
 * CakePHP session IDs are also regenerated between requests if
 * 'Security.level' is set to 'high'.

Идентификатор сеанса CakePHP всегда пуст. хотя другие операции чтения / записи в сеансе работают отлично.

Ниже находится объект сеанса.

SessionComponent Object
(
    [__active] => 1
    [__started] => 
    [__bare] => 0
    [valid] => 
    [error] => Array
        (
            [2] => Auth.redirect doesn't exist
        )

    [_userAgent] => 2abebfb51fc971ec64569f7cd415fe0b
    [path] => /
    [lastError] => 2
    [security] => high
    [time] => 1278950154
    [sessionTime] => 1278953154
    [watchKeys] => Array
        (
        )

    [id] => 
    [_log] => 
    [host] =>localhost
    [enabled] => 1
    [cookieLifeTime] => 0
)

Все остальные переменные сеанса хранятся и извлекаются правильно, проблема в том, что я не получаю идентификатор сеанса на любом этапе.

Подскажите, пожалуйста, в чем может быть проблема.

Спасибо, Sourabh

Ответы [ 3 ]

2 голосов
/ 12 августа 2011

используйте session_id() Я надеюсь, что это будет работать для вас.

0 голосов
/ 28 ноября 2012

см. идентификатор сеанса cakephp Пусто

попробуйте начать сеанс с

$this->Session->start();
0 голосов
/ 12 июля 2010

У меня был такой опыт, и он совсем не хорош.Проверьте, отсутствуют ли какие-либо ресурсы.Т.е. некоторые изображения, файлы CSS или JS могут отсутствовать, а затем Cake загружает отсутствующий контроллер / страницу действий, которая может сбросить сеанс.

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