2017-12-13 12 views
0

を保存していないここに私の設定です:CodeIgniterのセッションクッキーは、私のセッションが正常に</p> <p>が動作していない

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = NULL; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

$config['cookie_prefix'] = ''; 
$config['cookie_domain'] = ''; 
$config['cookie_path']  = '/'; 
$config['cookie_secure'] = FALSE; 
$config['cookie_httponly'] = FALSE; 

セッションが実際に保存されますが、私はあることを発見し、いくつかのトラブルシューティングの後にリダイレクトした後、私はセッションデータ を失いましたCOOKIE ci_sessionがNULLであり、正しく設定されていません 私は手動でsession.phpに設定しようとしましたが、動作していないし、いくつかの値を設定しても即座に結果を返すようになっています。

しかし、私はこのようなコントローラ上でそれを設定しようとしたクッキーが

public function test_save_cookie() 
{ 
    $cookie = array(
     'name' => 'home_set', 
     'value' => 'home page Change 2', 
     'expire' => time()+86500, 
     'domain' => '', 
     'path' => '/', 
     'prefix' => '', 
     ); 
    $this->input->set_cookie($cookie); 
    var_dump($_COOKIE['home_set']); 
    var_dump($this->input->cookie('home_set',TRUE)); 


    setcookie(
     "asdasd", 
     session_id(), 
     (empty($this->_config['cookie_lifetime']) ? 0 : time()), 
     '/', 
     '', 
     FALSE, 
     TRUE 
    ); 
    var_dump($_COOKIE['asdasd']); 
} 

public function test_cookie() 
{ 
    var_dump($this->input->cookie('name',TRUE)); 
    var_dump($_COOKIE['home_set']); 
    var_dump($_COOKIE['ci_session']); 

    var_dump(session_id()); 
} 

うまく保存されている場合、私は、私はPHP 5.5.15およびサーバーを使用し、ローカルでGoDaddyは の共有ホスティングサービスのCodeIgniterのプロジェクトをホストしますI てみDBへの保存セッションを試してみてくださいPHP 5.5.38

+1

セッションライブラリを 'config/autoload.php'にロードしましたか? –

答えて

0

を使用している使用します。mysql_databaseについて

$config['sess_driver'] = 'database'; 
$config['sess_save_path'] = 'ci_sessions'; 

を:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    `id` varchar(40) NOT NULL, 
    `ip_address` varchar(45) NOT NULL, 
    `timestamp` int(10) unsigned DEFAULT 0 NOT NULL, 
    `data` blob NOT NULL, 
    KEY `ci_sessions_timestamp` (`timestamp`) 
); 
0

は、のようなパスを保存しますセッションを設定してみてください

$config['sess_save_path'] = APPPATH . 'sessions'; 

/application/sessionsが書き込み可能であることを確認してください。

関連する問題