我正在尝试为所有子域使用一个session
数据。
我在subdomain
中创建了cpanel
,如下所示:*.mydomain.in
我的*.mydomain.in
使用与mydomain.in
示例相同的路径:
mydomain.in
使用我服务器上的路径:/public_html/mydomain.in
*.mydomain.in
使用我服务器上的路径:/public_html/mydomain.in
现在问题是我每次访问该网站时都会创建一个不同的会话。例如:
我访问mydomain.in
....它会创建一个会话。
我访问example.mydomain.in
....它会创建一个不同的会话
我再次访问mydomain.in
...它会创建一个不同的会话。
我的codeigniter config
文件:
$config['encryption_key'] = 'MY-SECRET-KEY-HERE';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['cookie_prefix'] = "";
$config['cookie_domain'] = ".mydomain.in";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;
任何帮助或建议都会有很大帮助。提前谢谢。
答案 0 :(得分:10)
以下是我解决问题的方法。
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 300000000;
$config['cookie_prefix'] = "etc_anything_";
$config['cookie_domain'] = ".mydomain.in";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;