【问题标题】:Unable to locate the specified class: Session.php in Codeigniter 3无法找到指定的类:Codeigniter 3 中的 Session.php
【发布时间】:2018-04-23 09:17:10
【问题描述】:

浏览器:

显示错误信息:

Unable to locate the specified class: Session.php

但在其他控制器中工作正常。 我确实将站点从 Codeigniter 2.x 移到了 3.x。 之后就出现了这个错误。

当我使用此 $this->session->all_userdata() 代码打印会话时,输出会显示会话数据。

我要做什么来解决这个错误。

【问题讨论】:

  • 添加您的控制器代码,以便我们查看。
  • @Kevin 我发现了错误,即我调用了另一个控制器,例如 require('****.php')。会话库在同一个文件中调用了两次。
  • 可以在autoload.php中设置 $autoload['libraries'] = array('database', 'session');
  • 这个错误显示在哪里?在控制器或模型中的意思?
  • @AnandPandey 错误显示在控制器中。我正在尝试在主控制器中使用另一个控制器的方法。这就是我在 controller2.php 中添加 controller1.php 文件的原因。

标签: php codeigniter session


【解决方案1】:

在 application/config/autoload.php 文件中添加更改

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

在配置中

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

【讨论】:

    【解决方案2】:

    如果您使用 Codeigniter Modular Extensions HMVC,如果您忘记将类更改为扩展 MX_Controller 而不是 CI_Controller,则可能会出现此错误p>

    只需按以下方式更改您的扩展类

    Class YourController extends CI_Controller
    

    Class YourController extends MX_Controller
    

    【讨论】:

      【解决方案3】:

      您制作过自己的模型吗?您可能会像这样使用 CI_Controller 扩展模型:

      class Some_model extends CI_Controller
      

      它应该扩展 CI_Model:

      class Some_model extends CI_Model
      

      【讨论】:

        猜你喜欢
        • 2018-07-28
        • 1970-01-01
        • 2015-07-02
        • 2019-10-23
        • 1970-01-01
        • 2017-06-21
        • 1970-01-01
        • 2015-04-01
        • 1970-01-01
        相关资源
        最近更新 更多