在开发过程中(实际上在转向生产之前,有点讽刺),CodeIgniter的CI_Session停止了工作。
当我从浏览器清除会话和cookie时,该网站可以运行。但是,刷新后或点击任何链接(事实上,无论如何),会话停止工作并显示空白屏幕。这很奇怪,因为我没有触及任何东西,并且在回滚到之前的版本后,它仍然无法正常工作。配置没有改变,加载程序一如既往,自从我们开始编码以来配置没有改变。
当更改与cookie名称或其他任何相关的任何参数时,它会再次运行一次,然后再次显示空白屏幕。
我原来的配置是:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;
有什么想法吗?
答案 0 :(得分:1)
看起来很奇怪,但它只是因为一件愚蠢的事情而放弃了:我定义了string_helper.php
,而它已经在系统上了。由于自定义帮助程序具有首选项,因此可能会在CI_Session
要求时选择我的,并查找random_string
。
因此,总而言之,将其重命名为my_string_helper
可以解决问题。确实非常愚蠢。