2015-05-11 3 views
0

Я пытаюсь продолжить сеанс CakePHP вне приложения.CakePHP продолжение сеанса за пределами торта

CakePHP сессия конфигурации:

Configure::write('Session', array(
    'checkAgent' => false, 
    'defaults' => 'cake', 
    'timeout' => 10080, // 1 week, 
    'ini' => array(
     'session.cookie_httponly' => 1, 
    ) 
)); 

cakephp_webroot/test_session.php:

<?php 
session_name("CAKEPHP"); 
session_start(); 
var_dump($_SESSION); 
?> 

тест session.php должен выводить торт сессии, но он не работает. Я проверил файл cookie CAKEPHP.

ответ

2

Вы используете настройки по умолчанию для обработки сеанса cake, они несовместимы со значениями по умолчанию PHP (доступно как php для опции defaults).

Конфигурация cake использует пользовательский путь сохранения и обеспечивает использование файлов cookie.

https://github.com/cakephp/.../Datasource/CakeSession.php#L600-L612

// ... 
'cake' => array(
    'cookie' => 'CAKEPHP', 
    'timeout' => 240, 
    'ini' => array(
     'session.use_trans_sid' => 0, 
     'url_rewriter.tags' => '', 
     'session.serialize_handler' => 'php', 
     'session.use_cookies' => 1, 
     'session.cookie_path' => self::$path, 
     'session.save_path' => TMP . 'sessions', 
     'session.save_handler' => 'files' 
    ) 
), 
// ... 

Так как настроить внешнее использование сценариев сеанса так же, как cake по умолчанию, или использовать php по умолчанию вместо этого, и контроля вещи через конфигурацию PHP INI.

Смотрите также

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