【问题标题】:Error when loading library even library loaded加载库时甚至加载库时出错
【发布时间】:2019-04-08 02:33:35
【问题描述】:

我现在正在将我公司的旧 CI2 网站更新为 CI3。 CI2 中的模型、控制器和视图在稍作更改后似乎工作正常,但我的应用程序一直显示“致命错误:第 196 行的 pathtoapp\system\core\Common.php 中找不到类 'CI_Func'" 加载库时,"Func.php" 带有"F" 是大写,它的位置在"pathtoapp\application\libraries" 并且只是回显 "Hello world" 用于测试目的。显示文本“Hello world”,但应用程序仍显示错误。我尝试了许多其他库,但它只显示了相同类型的错误,例如“致命错误:类'CI_Someotherlibrary'...”。我的系统使用 IIS、PHP 5.5 和 MySQL 运行。

这是我的 Func.php 和我的控制器

defined('BASEPATH') OR exit('No direct script access allowed');
class Func {
function __construct()
{
    echo 'Hello world';
    }
}

class Home extends CI_Controller{
public function __construct(){
    parent::__construct();      
    $this->load->library('form_validation');
    $this->load->helper(array('url', 'form', 'download', 'text', 'views'));
    $this->load->library('pagination');
    $this->load->Model("Menus");
    $this->load->Model("2019/News","News");
    $this->load->library('Func');
}}

我不知道为什么它一直在我的库名称前添加“CI_”。我还是 CI 的新手,也是 stackoverflow 的新手。我已经在互联网上搜索并尝试了几乎所有东西,但仍然没有运气。任何建议将被认真考虑。提前致谢。 PS:对不起我的英语不好。

更新来自@Bira 任务的信息 - 当我将类的名称更改为 CI_Func 或 $this->load->library('func'); 时,出现新错误:“An Error Was Encountered Unable to load the requested class: Func”

更新 1: 这是两个几乎像我的问题但无法解决我的问题的线程 Thread 1

Thread 2

更新 2: - 我发现当我不在我的视图中使用 $this->load->view 时,错误消失了。可能的原因是 $this->load->view 触发了一些使加载器类出错的东西。我只是不知道它有什么问题,因为我正在使用 $this->load->view 来加载我的网站布局的某些部分,并且它在 CI2 上运行良好。请有人帮助我。

更新 3: - 我已经解决了。在我看来,我使用 $home = new home(); 创建控制器的新实例。所以可能是它再次加载库并导致错误。谢谢大家的帮助。

【问题讨论】:

  • 下载一个全新的 CI3 框架并复制您的 MVC 文件夹。这是最简单的方法。
  • @Bira 我下载了新的 CI3 并使用模型、控制器和视图以及 routes.php、config.php、constants.php 和 database.php 中的一些配置来运行应用程序。我试了3次,每次复制,稍微改一下,看看哪些文件可能会出错,结果还是一样。
  • library 方法应该扩展当前任何 CI 库。您的课程没有扩展任何课程。 codeigniter.com/user_guide/general/creating_libraries.html
  • @Bira 很抱歉没有提供此信息,我会更新帖子。当我将其更改为 CI_Func 时,出现新错误:“遇到错误无法加载请求的类:Func”。谢谢
  • $this->load->library('func'); // 没有大写,试试这个。类名就可以了,不用CI_

标签: php codeigniter-3


【解决方案1】:

我已经解决了。在我看来,我使用 $home = new home(); 创建控制器的新实例。所以可能是它再次加载库并导致错误。很难追踪错误。谢谢大家的帮助。

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    相关资源
    最近更新 更多