【问题标题】:Session: Configured driver 'files' was not found. Aborting会话:未找到配置的驱动程序“文件”。中止
【发布时间】:2016-05-01 06:23:30
【问题描述】:

作为 CodeIgniter 的初学者,正在尝试制作登录应用程序。完成一些会话的工作后,它无法加载之前加载的登录页面。

错误是:

遇到未捕获的异常

类型:UnexpectedValueException

消息:会话:未找到配置的驱动程序“文件”。中止。

文件名: C:\wamp64\www\CodeIgniter-3.0.1\system\libraries\Session\Session.php

【问题讨论】:

  • 首先显示 config.php 文件的 Session Variables 部分
  • @RejoanulAlam $config['encryption_key'] = ''; $config['sess_driver'] = '文件'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = NULL; $config['sess_match_ip'] = 假; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE;
  • 您是否加载了session 库和session 驱动程序?在 autoload.php 中?
  • $autoload['libraries'] = array('database','form_validation','session'); $autoload['drivers'] = array('files');

标签: php codeigniter session login


【解决方案1】:

您的 autoload.php 中有以下错误

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

把它改成

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

现在检查

【讨论】:

  • 完成但仍有问题。我的意思是我在问题中提到的相同的问题陈述
  • 如果我不在驱动程序中添加“文件”,则会出现我在问题中提到的问题,但是如果我在自动加载中同时添加会话和文件驱动程序,则会显示“无法加载请求的类:文件”
  • Codeigniter 中没有名为 Files 的内容。你在哪里得到这个名字来添加drivers
  • 这是一个用于存储会话数据的文件驱动程序。codeigniter.com/userguide3/libraries/…
  • $config['sess_driver'] = 'cookie';在 config/config.php 中注释这一行
【解决方案2】:

看看CI documentation。 如果您使用的是文件驱动程序,则需要将可写目录设置为 'sess_save_path' 配置项。你的设置为 NULL。

您应该知道的另一件重要事情是确保您不使用公开可读或共享的目录来存储会话文件。确保只有您有权查看您选择的 sess_save_path 目录的内容。否则,任何可以做到这一点的人也可以窃取任何当前会话(也称为“会话固定”攻击)。

【讨论】:

    猜你喜欢
    • 2016-10-26
    • 2019-02-04
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 2018-02-09
    • 2018-03-02
    相关资源
    最近更新 更多