【发布时间】:2019-04-17 19:56:56
【问题描述】:
我面临的问题是当我重定向到某个页面时,我的会话被破坏了。我只在实时服务器中面临这个问题,并且在 localhost 中完美地工作。几个月前不同的托管公司没有这个问题
这是我的会话配置
$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;
【问题讨论】:
-
请比较CI和php版本的localhost和production
-
硬编码
sess_save_path路径是个好主意。还要确保对目录使用 chmod 700,请参阅codeigniter.com/user_guide/libraries/sessions.html的“文件驱动程序”下@ -
你能告诉我要硬编码什么吗?
-
您阅读了链接吗?您应该添加一个绝对路径到您想要的会话目录,它应该是一个非公共目录。根据您的环境,建议为
/application/sessions或相等。然后chmod它。您的会话未存储在新服务器上的最可能原因是 CI 无法保存/读取会话文件。另一个建议是使用数据库或 memcached,如果有的话,它会更快。 -
某些操作系统与 $config['sess_save_path'] = NULL 像 centOS 一样工作正常,而其他服务器需要路径来存储会话。提供会话路径然后检查
标签: php codeigniter