无法加载请求的类:会话代码点火器 3


Unable to load the requested class: Session Codeigniter 3

正在尝试在 Codeigniter 中加载会话库。这似乎显然是正确的,但实际上不起作用。这是配置文件的一部分:

$config['sess_driver'] = 'database';
$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;

同样,ncryption key变量已经设置好了。此外,CI 3 文档无法为我提供解决此问题的方法。


我尝试过:

  1. 将"sess_save_path"变量设置为"ci_sessions"
  2. 检查文件夹权限
  3. 检查表"ci_sessions"是否存在
  4. 使用自动加载器类
  5. 使用大写 S 的类名

这有点奇怪,但配置说:

 /*
| -------------------------------------------------------------------
|  Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/www folder
| or in your application/www folder.
|
| Prototype:
|
|   $autoload['www'] = array('database', 'email', 'session');
|
| You can also supply an alternative library name to be assigned
| in the controller:
|
|   $autoload['www'] = array('user_agent' => 'ua');
*/

这是自动加载机的代码:

// Load www
        if (isset($autoload['www']) && count($autoload['www']) > 0)
        {
            // Load the database driver.
            if (in_array('database', $autoload['www']))
            {
                $this->database();
                $autoload['www'] = array_diff($autoload['www'], array('database'));
            }
            // Load all other www
            foreach ($autoload['www'] as $item)
            {
                $this->library($item);
            }
        }

以下是您应该尝试的操作列表:

  1. 确保在 autload.php: $autoload['libraries'] = array('session'); 中加载会话库

  2. 确保您的加密密钥设置为cofing.php:$config['encryption_key'] = 'anything_here'

  3. 确保数据库表名为 ci_sessions,并且sess_save_path设置为该名称:$config['sess_save_path'] = "ci_sessions"

  4. 如果您使用的是 Unix/Linux,请确保使用大写字母加载库:$autoload['libraries'] = array('Session');

  5. 如果没有任何效果,请检查是否从 http://www.codeigniter.com/download 下载并安装正确的 CI3 文件

你需要这样做

config/autoload.php文件,并确保在代码点火器 3 中加载会话。

$autoload['drivers'] = array('session');

确保正确安装了 ci3,并且没有丢失任何库文件和类。我喜欢在安装 ci 时使用 git 或作曲家来跟踪更改,或者您可以获取 zip 或 .gz 并将其提取以供使用。