【发布时间】:2015-06-04 16:53:27
【问题描述】:
您好,在我的 codeigniter 中,我创建了带有以下字段的 ci_sessions 表
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
每个字段都工作正常,除了每个客户端存储为 0.0.0.0 的 ip 地址。我已经编辑了我的 config.php,如下所示。
$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'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
【问题讨论】:
-
为什么你不能在插入查询中使用这个
$this->input->ip_address();? -
您已将
sess_use_database设置为FALSE,那么您如何在数据库中获取记录? -
我在数据库中获取值,但对于 ip 地址,我得到 0.0.0.0
-
'0.0.0.0' 是当 IP 地址被视为无效(不匹配 ipv4 或 ipv6 标准)时 Input::ip_address() 方法的后备值。您在哪里托管?
-
@luciddreamz 我错过了什么??
标签: php codeigniter session-cookies codeigniter-url codeigniter-routing