CodeIgniter 无法实例化控制器类

2023-12-24

所以我试图解决为什么 CodeIgniter 不会显示任何输出(除了 404 等)。我检查了从 php、apache 和 codeigniter 中的错误日志到模块重写的所有内容。一切似乎都配置得很好。

我开始深入研究 CodeIgniter 核心文件,并注意到它在下面尝试实例化所请求的控制器类的行中崩溃:

        $class  = $RTR->fetch_class();
        $method = $RTR->fetch_method();

echo 'looking for class: ' . $class . '<br/>';
if(class_exists($class) == false) {

                )
        {
                echo 'class does not exist: ' . $class;
                show_404("{$class}/{$method}");
        }
}

/*
 * ------------------------------------------------------
 *  Is there a "pre_controller" hook?
 * ------------------------------------------------------
 */
        $EXT->_call_hook('pre_controller');
echo '<br/>after precontroller';
/*
 * ------------------------------------------------------
 *  Instantiate the requested controller
 * ------------------------------------------------------
 */
        // Mark a start point so we can benchmark the controller
        $BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_start');

echo '<br/>before class init: ' . $class;
        $CI = new $class();
echo '<br/>after class init';

它位于 /core/CodeIgniter.php 文件中。这是输出:

CodeIgniter.php
looking for class: servicecontroller

after precontroller
before class init: servicecontroller

基本上它告诉我它可以找到 servicecontroller 类,但是当它尝试实例化它时,它崩溃了。 php 错误日志已启用,并且 display_errors 已打开。如果我在此处附近的任何地方强制出现 php 错误,我会在页面上看到它,但不是这个。有谁知道为什么它无法越过这条线?

servicecontroller.php 的安排如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class servicecontroller extends CI_Controller {
}

好吧,这个问题的根源是使用 mysql_connect 连接数据库时出错。由于某种原因,它不会产生任何错误,也不会 "or die("error..."); 做任何事情。这是因为我们在服务器上使用 php 5.4,并且 mysql_connect 似乎不再受支持,除非你安装了 mysqlnd。解决方案是将我们的数据库驱动程序切换到“mysqli”,幸运的是 CodeIgniter 有一个驱动程序,然后使用以下命令安装 php5-mysql: apt-get install php5-mysql 希望这对其他人有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CodeIgniter 无法实例化控制器类 的相关文章

  • Codeigniter 回显 [::1] 而不是 localhost

    我正在使用 CodeIgniter 3 作为 Web 平台 并尝试将语义 UI CSS 导入到我的页面中 我正在使用 CodeIgniter 来做到这一点base url 方法中的hrefCSS 导入的属性 但是 semantic css
  • CodeIgniter 中使用 Active Record 的查询中的 DATE_FORMAT 不起作用

    编码员 我在这里遇到一个小问题 找不到解决方案 我正在使用 CI 的 Active Record 构建查询 这是查询的代码 this gt db gt select u id AS user id u email p display nam
  • 无法加载请求的类:会话

    我的配置文件看起来像这样 gt config sess cookie name ci session config sess expiration 7200 config sess expire on close TRUE config s
  • 如何在codeigniter中从数据库返回最后一条记录?

    我正在尝试获取我拥有数据的最后日期 所以我想打印 date data 列中的最后一个日期 在模型中 public function last record query this gt db gt select LAST date data
  • CodeIgniter - 为什么使用 xss_clean

    如果我正在清理我的数据库插入 并且还转义我编写的 HTMLhtmlentities text ENT COMPAT UTF 8 是否还需要使用 xss clean 过滤输入 它还有什么其他好处 xss clean http docs gip
  • 如何使用 jQuery Nestable 插件和 Codeigniter 创建子菜单?

    我在用着jQuery 可嵌套插件 with 代码点火器 3为网站创建 5 级菜单 这是一个很好的解决方案 用户可以通过拖放来更改菜单项的级别和位置 然而 我的下面的函数只能创建第一级菜单 当我更改为菜单项的子级 2 3 4 5 时 它对我不
  • GoDaddy 服务器上的 CodeIgniter 和 URI 问题

    我似乎无法在 GoDaddy 上正确设置 CodeIgniter 我尝试在 wecome 控制器内创建一个新函数 但我无法在任何地方访问它 http domain com test No response lt why doesn t th
  • 解释一下 $CI =& get_instance();

    查看codeigniter的源代码 在它的辅助函数中我不断看到代码 CI get instance 谁能向我解释一下这段代码是如何工作的 我知道它正在返回对 CI 超级对象的引用 但是在哪里get instance 来自 这基本上是一个单例
  • Codeigniter:无法使用提供的设置连接到数据库服务器

    我使用 codeigniter 作为 cms 框架 如果数据库主机名是 localhost 它可以正常工作 db default hostname localhost db default username root db default
  • CodeIgniter Active Record - 组 OR 语句

    这是我的问题 MySQL 或 条件 https stackoverflow com questions 8604380 mysql or condition 解决方案是将 OR 语句分组 但我正在使用 CodeIgniters Active
  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • Codeigniter 分页:运行查询两次?

    我正在使用 codeigniter 和分页类 这是一个非常基本的问题 但我需要确保我没有遗漏任何东西 为了获得对从 MySQL 数据库获取结果进行分页所需的配置项 基本上需要运行查询两次 对吗 换句话说 您必须运行查询来确定记录总数 然后才
  • 如何将 .env 添加到 codeigniter?

    我尝试按照以下步骤使 php 连接到 Outlookhttps learn microsoft com en us outlook rest php tutorial https learn microsoft com en us outl
  • codeigniter,获取mysql表列中的最大值

    我正在使用 codeigniter 2 我有一个 mysql 表列 存储每个学生所用的时间 例如 1 2327 0 6547 1 9876 我想获得最大值 值该列 这是我的代码 this gt db gt select max time t
  • dayname(curdate()) 不适用于 codeigniter php

    此 sql 在 phpmyadmin 中有效 但在 codeigniter php 中无效 function getProgramsHomepage data array this gt db gt select p name p star
  • CodeIgniter 删除 index.php 和 .htaccess

    我已经为此工作了一个小时 所以我想我不妨问一下 我正在尝试从 CodeIgniter 应用程序的 URL 中删除 index php 但无法执行此操作 该应用程序在我办公室的专用服务器上运行 我通过 url 访问该应用程序http smr
  • 如何删除Wamp中的index.php?

    我一直在 XAMPP 中使用 CodeIgniter 重定向到函数 URL 没有问题 例如 功能1 http localhost function1 当我换成WAMP时 我遇到了问题 我无法重定向到功能1 然而 功能1仍可在以下位置访问 h
  • 检查文件是否要上传?代码点火器

    我有一个带有很少输入和一个文件输入的表单 我想检查文件输入是否为空 如果为空则不要尝试上传 如果不是则尝试上传 我尝试过这样的事情 upld file this gt upload gt data if empty upld file Up
  • 在 Codeigniter 中从其他数据库切换动态数据库

    mi 文件 config php 是 active group default active record TRUE db master 是唯一的数据库 db master hostname localhost db master user
  • CodeIgniter加入选择为

    我的数据库中有 2 个表需要加入 一张表是 artikelen 表 另一张表是 Collections 表 我目前有 this gt db gt select this gt db gt from collecties this gt db

随机推荐

  • 如何对 dotnet core 角度模板应用程序进行 dockerize?

    我使用 dotnet cli 角度模板创建了一个 Web 应用程序 dotnet new anguar Web 现在我想对这个应用程序进行 dockerize 我将以下 Dockerfile 添加到项目文件夹中 FROM mcr micro
  • Oracle 将字符插入字符串

    我有这个行表 RowA ABC123 DEF432 WER677 JKL342 如何使用 oracle 在记录之间添加 假设添加最后 4 个字符 RowA ABC 123 DEF 432 WER 677 JKL 342 你会尝试这样的事情
  • 我可以在Where 子句中使用Firebird DateAdd 函数吗?

    在火鸟中我可以使用DateAddwhere 子句中的函数 我有以下sql select s number s warranty start from serial number s where s warranty start gt dat
  • 如何建立一对多关系?

    我有以下型号 User id name network id Network id title 我需要添加什么样的 Rails 模型关联才能执行以下操作 user network title network users Thanks 所以网
  • 断点分组

    我正在 Visual Studio 2005 中开发一个基于 C Windows 的项目 我经常在这个巨大的项目中调试不同的功能 现在的问题是我在几个地方做了几个断点 只有在调试该功能时才需要这些断点 我想要然后禁用其他断点 我知道这可能不
  • 为什么我无法在 mac 操作系统上 pip install nltk?

    我正在使用 mac os mojave 安装 python 2 7 并使用 pip 安装python get pip py 我已经尝试使用这些命令来安装 pip pip install upgrade pip pip install nlt
  • INotifyPropertyChanged 以及不同对象上的派生属性

    最近我继承了一个用C 和WPF开发的相当大的项目 它使用绑定以及INotifyPropertyChanged用于将更改传播到视图或从视图传播更改的接口 一点前言 在不同的类中 我有依赖于其他属性的属性在同一个班 例如 考虑财产TaxCode
  • Fetch API如何在catch中获取响应体?

    我从服务器得到这样的响应 Request URL http api bfexchange net wallet balance Request Method GET Status Code 504 Gateway Time out Remo
  • 将 HTML 从内容脚本注入到页面中

    我正在构建一个 Chrome 扩展程序 并且需要在几个网站之上覆盖一个 html 块 目前我正在使用 JQuery Get从我的服务器中提取 html 为了提高性能 我想知道是否可以将 html 作为文件包含在扩展目录中并直接从那里访问源代
  • scala 开发人员如何处理带有 shapeless 的 scala 代码中不正确的 IDE(Idea) 错误

    这是一个带有具体例子的一般性问题 人们如何进入 Scala 并将其用于大型项目来处理工具 IDE 的不可靠性 您是否只接受源代码中的红色标记 我遇到了另一个 scala 代码库 其中工作代码被 idea 标记为红色Cannot resolv
  • git推送到远程存储库“无法从远程存储库读取”

    我搜索了一段时间 但找不到解决我的问题的方法 我有一个服务器 我可以使用用户名通过 ssh 连接到git和本地 git 存储库 现在我想将我的本地存储库推送到服务器上新创建的存储库 这是我所做的 创建了一个 git 存储库 home git
  • 具有不同列表和不同 SelectedValue 的 WPF 绑定组合框

    在我的 UserControl ucStep2 中 我有 Step2InfoData 对象的 DataContext 该对象具有多个属性以及 private string rockDensUnit public string RockDen
  • Docker - 无法在现有文件上安装卷,文件已存在

    我正在尝试在 Docker 中为我的应用程序构建一个数据容器 我运行此命令来公开一些卷 docker run name svenv nl data v etc environment v etc ssl certs v var lib my
  • 按屏幕尺寸排列的 Android 资源文件夹

    我开发了一款Android游戏 支持市场上几乎所有的分辨率 240x320 320x480 480x800 480x854 600x1024 我的问题是 当我尝试支持平板电脑时 我不明白为什么 Android 将资源划分在不同的文件夹中 h
  • 转换泛型列表时显式转换运算符错误

    我正在创建一个显式转换运算符 以在实体类型的通用列表与模型类型的通用列表之间进行转换 有谁知道为什么我收到以下错误 用户定义的转换必须与封闭类型相互转换 我已经在 Entity objA 和 Model objA 之间有一个显式转换运算符
  • 无法在 android 10 中启动活动背景 [ android Q ]

    我使用 android 10 android Q galaxy 10 我用的是android studio 3 3 使用AVD 并制作了一个api 29 android 10 虚拟电话 在虚拟机上 我执行我的应用程序 然后启动其他应用程序
  • jQuery/iframe 在 Chrome 中不工作

    我在这里创建了一个 Facebook 粉丝页面 它包含 iframe 来调用某些使用 jquery 的页面 图像库 除了 Chrome 之外 所有浏览器都运行良好 Chrome 中的 iframe 中没有显示任何内容 只有空的白色背景 我尝
  • 爪哇。如何正确同步 getter 和 setter?

    如果我在一个对象中有多个可变属性 并且将由多个线程对其进行操作 那么我知道它们应该是同步的 class Doggie private String name private int age public void setName Strin
  • 如何访问 Django 模板中的用户配置文件?

    我使用存储一些额外的每用户信息AUTH PROFILE MODULE http docs djangoproject com en dev topics auth storing additional information about u
  • CodeIgniter 无法实例化控制器类

    所以我试图解决为什么 CodeIgniter 不会显示任何输出 除了 404 等 我检查了从 php apache 和 codeigniter 中的错误日志到模块重写的所有内容 一切似乎都配置得很好 我开始深入研究 CodeIgniter