无法加载请求的类:session

时间:2012-11-03 06:20:51

标签: php codeigniter session

我的配置文件看起来像这样 - >

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = FALSE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

autoload是 - >

$autoload['libraries'] = array('database','session','uri');

我收到错误:

Unable to load the requested class: session

请告诉我实际问题是什么。我已经搜索了所有以前关注此问题的问题但尚无法解决问题。提前谢谢。

6 个答案:

答案 0 :(得分:5)

设置config.php文件

$config['encryption_key'] = 'xyz'

答案 1 :(得分:4)

您的自动加载功能正常。如果你用上限字母或没有大写字母写它并不重要。

在配置时将一些随机密钥放在

$config['encryption_key']

2检查您的文件夹权限。

告诉我们您正在使用的CI版本:)

目前有两个可能的原因.. 第一个是由于某种原因你的CI找不到会话类,第二个是它试图加载它多次..

答案 2 :(得分:0)

您可能尝试多次加载Session类。 检查代码是否有重复的会话加载。它会解决你的问题! 另外,请确保将Session类作为库加载,而不是作为驱动程序加载。

答案 3 :(得分:0)

尝试:

$this->load->library('Session');

取代

$this->load->driver('Session');

答案 4 :(得分:0)

我遇到此问题,问题出在会话脚本所在的System文件夹中。您需要将结构树上的会话文件移动一级(从System/libraries/sessionSystem/libraries的文件)。我知道改变系统的文件和结构是不好的做法,但这是唯一的解决方案。

答案 5 :(得分:-1)

可能是以下原因抛出此消息Unable to load the requested class - encrypt

1)在新服务器上有些文件名如何更改。所以CI无法找到该文件

2)可能是服务器上不存在lib文件。所以CI无法找到该文件

3)可能是文件名大小写的问题。

首先检查system / application / libraries / Session.php是可执行的。 如果这不起作用,请尝试更改自动加载中的行:

$autoload['libraries'] = array('database', 'session','uri');

$autoload['libraries'] = array('database', 'Session','uri');

并尝试

$config['encryption_key'] = ' ABC1234' ;