2

私は2つのドメインを持ってabc.comおりxyz.com、1つのサーバーに両方とも正確なコードがあります。問題はxyz.comで、Chromeブラウザのページ更新時にcodeigniterセッション変数がリセットされましたが、abc.comではそのような問題はありません。両方のドメインのMozilla。問題の原因は何ですか?ドメイン、htaccessに関連していますか?アドバイスをお願いします。

4

1 に答える 1

0

私は以前にこの(または非常に類似した)問題を抱えていましたが、セッションでデータベースを使用できるようにすることで問題を解決しました。

つまり、config.phpで、sess_use_databaseをtrueにします。

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']         = FALSE;
$config['sess_match_useragent'] = FALSE; //you can try this with TRUE and see if it works
$config['sess_time_to_update']  = 300;

セッションテーブルがデータベースにも設定されていることを確認してください。そうでない場合は、ここにSQLがあります。

CREATE TABLE IF NOT EXISTS `ci_sessions` (
  `session_id` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0',
  `ip_address` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0',
  `user_agent` varchar(150) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `last_activity` int(10) unsigned NOT NULL DEFAULT '0',
  `user_data` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `session_data` text NOT NULL,
  PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
于 2012-10-25T13:02:24.113 に答える