【发布时间】:2018-05-26 22:57:05
【问题描述】:
我的会话无法正常工作
这是我的配置:
$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 上手动设置它,但它不起作用,即使将它们设置为一些值并立即打印 cookie,结果始终为 NULL
但如果我尝试像这样在控制器上设置它,cookie 保存得很好
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());
}
我在 godaddy 的共享托管服务上托管 codeigniter 项目 在本地,我使用的是 PHP 5.5.15,而我使用的服务器使用的是 PHP 5.5.38
【问题讨论】:
-
已经在
config/autoload.php中加载了会话库?
标签: php codeigniter session-cookies shared-hosting