首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CodeIgniter 2.1.0 的白屏错误调试

今天在配置一个CodeIgniter 2.1.0时,遇到白屏,系统报500错误,但是Apache的错误日志中看不到任何错误信息输出。...经过简单的定位后,发现是由于在autoload中配置了自动加载database造成的,但是之前的版本用着都没问题呀,这个版本出这个问题,甚是奇怪。...mysql/mysql_driver.php文件中,发现mysql的调用函数都用了@将错误信息隐藏了,难怪白屏,什么信息都没有。...中,不存在mysql_set_charset这个函数,但是判断的结果是需要这个函数,所以执行到这里的时候就发生错误了。...但是按照PHP的版本来说,这个函数应该是存在的,可能是编译的时候一些参数选择的问题造成了这个错误。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    系列开篇

    CodeIgniter 可以在 GitHub 上公开访问。请注意,尽管我们在保持代码的基础功能上做出了大量的努力,但是我们并不能为开发分支的代码中的功能作担保。...稳定版可以从 GitHub Releases 获取。 开发版可以从 开发分支 获取。 安装 CodeIgniter4 可以手动安装,或使用 Composer 安装。...如果你打算使用数据库,使用文本编辑器打开 application/Config/Database.php 并配置你的数据库设置。...如果你想公开你的视图,你可以将 views 目录移动到 application 目录之外,移动到 public 目录下的相应文件夹中。...在生产环境中所要做的一个额外操作是禁用 PHP 错误报告以及其它任何仅开发时所使用的功能。在 CodeIgniter 中,可以通过设置 ENVIRONMENT 常量来完成。

    2.5K20

    讲解-加载静态页

    接下来,您将创建一个新闻部分,该部分将从数据库中读取新闻项。最后,您将添加一个表单以在数据库中创建新闻项。...创建新闻项,这将引入更高级的数据库操作和表单验证。 结论,这将为您提供进一步阅读和其他资源的一些指示。 享受您对CodeIgniter框架的探索。...如果不存在,会显示 "404 Page not found" 的错误页面。 此事例方法中,第一行用以检查界面是否存在,file_exists() 是原生的 PHP 函数,用于检查某个文件是否存在。...PageNotFoundException 是 CodeIgniter 的内置函数,用来展示默认的错误页面。...当获取到请求时,CodeIgniter 首先查找能匹配到的第一条规则,然后调用相应的可能存在参数的控制器和方法。 你可以在关于 URL路由的文档 中找到更多信息。

    3.6K10

    讲解-启动流程

    来自CodeIgniter中国的介绍 CodeIgniter 是一个轻量级、快速、灵活和安全的PHP全栈Web框架。...CodeIgniter4 是一个完整的重写,将质量和代码带入一个更现代的版本,同时仍然保持着许多完整的东西来自CodeIgniter4 Github的介绍 CodeIgniter4 启动流程分析...个人阅读笔记,仅作参考,若有错误后续改正 简要说明 入口文件index.php进行一些初始化动作 调用框架引导文件System\bootstrap.php预定义常量及加载相关类库,然后对CodeIgniter....php 根据CI_DEBUG标志来加载调试类库Kint 返回CI类 执行主流程 - CI->run() 开始基准测试 获取CodeIgniter\HTTP\Request对象 获取CodeIgniter....php 根据CI_DEBUG标志来加载调试类库Kint 返回CI类 执行主流程 - CI->run() 开始基准测试 获取CodeIgniter\HTTP\Request对象 获取CodeIgniter

    2.5K10

    概述-服务

    Introduction CodeIgniter中的所有类均作为“服务”提供。这仅意味着,要对要调用的类进行硬定义,而不是对要加载的类名称进行硬编码,而是在一个非常简单的配置文件中定义它们。...非常简单且抗错误。 注解 建议仅在控制器内创建服务。其他文件,例如模型和库,应将依赖项传递到构造函数中或通过setter方法传递。 方便的功能 提供了两种功能来获得服务。这些功能始终可用。...几乎所有CodeIgniter的类都提供了它们遵循的接口。当您要扩展或替换核心类时,只需要确保满足接口的要求并且知道这些类是兼容的即可。...views/') { return new \CodeIgniter\View\View($viewPath); } 这将在构造方法中设置默认路径,但允许轻松更改其使用的路径: $renderer...当您想从任何控制器获取职位服务时,只需使用框架的Config\Services类即可获取服务: $postManager = Config\Services::postManager(); 注解 如果多个

    1.7K10

    -控制器

    考虑下面的 URI: example.com/index.php/blog/ 上例中,CodeIgniter 将会尝试查询一个名为 Blog.php 的控制器并加载它。...另一种显示 “Hello World” 消息的方法是: example.com/index.php/blog/index/ URI 中的第二段用于决定调用控制器中的哪个方法。...默认控制器在 application/Config/Routes.php 中定义。 你也可以使用 CodeIgniter 的 ....} 验证 $_POST 数据 控制器还提供了一个简单方便的方法来验证 $_POST 数据,将一组规则作为第一个参数进行验证,如果验证不通过,可以选择显示一组自定义错误消息。...你可以通过 $this->request 这个用法获取 POST 数据。 Validation Library docs 是有关规则和消息数组的格式以及可用规则的详细信息。

    3.6K20

    CI一些优秀实践

    首先是 MVC 如果你还不知道 MVC ,应该尽快的学习,你会很快的体会到在 Model 中数据访问,在 Controller 中进行业务逻辑,在 Views 中编写 HTML 代码的价值。...错误报告和调试 常常犯的一个错误是忘记关闭 PHP 错误和数据库错误报告,这样做是有风险的。...数据库 和 ORM CodeIgniter 有一个自带的库 Active Record 能够帮助你在不使用 SQL 语句的情况下写查询语句。...缓存是一个提高性能的很好的方式,尤其是减少数据库的访问。可以参考网页缓存和数据库缓存,或者在论坛上搜索其他的可选方案,比如 MP_Cache 是作者自己的作品。 3....,记录日志的log_message,和引入错误页面的show_404是几个重要的函数;Compat主要解决了php4和php5中的函数不兼容问题,而constants则定义了一些读写文件权限的常量。

    3.4K50

    盘点7款顶级 PHP Web 框架

    这个功能强大且易于使用的框架适用于各种 Web 应用。 Yii2 的优势:AJAX 支持;处理错误的有效工具;自定义默认设置;简单的第三方组件集成;强大的社区支持等。...Zend的优势:实时在线调试;PHP 单元测试工具;连接数据库向导;加密编码工具;具有前端技术支持的拖放编辑器;MVC 组件;卓越的前端技术支持工具;简单的云 API;支持第三方组件;数据加密等。...4、CodeIgniter CodeIgniter 是十分适合开发动态网站的 PHP 框架。它是一个非常简单的轻量级 PHP 框架,大小只有 2 MB 左右。...CodeIgniter 还提供了几个预构建的模块,用于为 Web 开发创建健壮的、可重用的组件。由于设置过程简单,这个 PHP 框架非常适合初学者。...CodeIgniter 的优势:MVC 架构;Top-Notch 错误处理;提供卓越的性能;包中提供了几种工具;内置安全工具;优秀的文档等。

    4.7K00

    概述-处理 HTTP 请求

    处理 HTTP 请求 为了充分地使用 CodeIgniter,你需要对 HTTP 请求和响应的工作方式有基本的了解。对于所有想要成功的开发者来说, 理解 HTTP 背后的概念是 必须 的。...本章的第一部分会给出一些关于 HTTP 的概述,接着我们会讨论怎样用 CodeIgniter 来处理 HTTP 请求与响应。 什么是 HTTP ? HTTP 是两台计算机相互通信的一种基于文本的协议。...当浏览器请求页面时,它会询问服务器是否可以获取该页面。然后, 服务器准备页面并将响应发送回发送请求的浏览器。就是这样简单,也可以说复杂些,但基本就是这样。 HTTP 是用于描述该交换约定的术语。...变量 $request->getVar('foo'); $request->getGet('foo'); $request->getPost('foo'); // 从 AJAX 调用中检索 JSON...CodeIgniter 还提供了 Response 类 ,它是 HTTP 响应的面向对象式表示。

    1.9K10

    PHP框架探索:流行框架的优缺点详解

    强大的ORM(Eloquent):Eloquent提供了便捷的数据库查询和模型关联,简化了与数据库的交互。...高度集成的工具(Artisan):Artisan命令行工具提供了丰富的功能,包括数据库迁移、测试生成等。 缺点: 性能相对较低:相较于一些轻量级框架,Laravel可能在极高并发场景下性能稍逊一筹。...稳定且成熟:Symfony经过多年发展,已经成为一个非常稳定且成熟的框架,广泛应用于大型项目。 强大的社区支持:Symfony有庞大的社区,提供大量文档、教程和支持,有助于解决开发过程中的问题。...CodeIgniter 优点: 轻量级和快速:CodeIgniter是一个轻量级框架,启动速度快,适合小型项目。 简单易学:相较于其他框架,CodeIgniter的学习曲线相对较低,适合初学者。...优秀的文档和社区支持:CodeIgniter拥有清晰明了的文档,以及积极的社区支持。 缺点: 功能相对较少:相对于一些大型框架,CodeIgniter的功能相对较少,不适合复杂的大型应用。

    35710

    Codeigniter文件上传类型不匹配错误

    Codeigniter的文件上传类方便了我们使用PHP来处理文件上传的操作,使用起来非常简单,如下: $config['upload_path'] = '....to upload is not allowed.”的错误,为什么会这样呢?...Codeigniter的文件上传类型判断在 is_allowed_filetype 这个函数中处理,造成这个错误的主要原因是因为判断逻辑中有一个 mime 类型判断的步骤。 什么是 Mime 呢?...针对不同的后缀,Codeigniter会从 config/mimes.php 文件匹配POST过来的数据中的 file_type 属性,只有一样才会校验通过,否则就会发生文件类型不匹配的错误。...是2.x版本的,至于现在3.x版本中是否还存在这个问题并没有测试,有遇到的朋友可以分享一下。

    2.3K10

    使用CodeIgniter 的模型的踩坑小结

    前言 CI4中,提供了**数据建模**的能力,其中一个妙处就是在使用使用 CodeIgniter 的模型新增或者插入数据时,可以自动写入时间字段和更新时间字段。...踩坑 一、数据无法插入 在**验证规则**中不要把createdField和updatedField的字段设为 required,否则数据将无法插入。...数据插入后为0 如果MySQL这边,时间 **字段类型** 为 datetime 时,一定要加入$useTimestamps protected $useTimestamps = true; 否则插入到数据库的数据为...addTime'; // 没有更新时间字段,赋值为null(没有插入时间字段也同理) protected $updatedField = null; 如果两个都无,就不用写这三行啦~ 总结 使用 CodeIgniter...可以节省许多开发PHP的时间,开发后端API的效率也大大提高。

    1.3K40

    痛心的CodeIgniter4.x反序列化POP链挖掘报告

    可以看到在/system/Cache/Handlers/RedisHandler.php中的__destruct魔术方法中,$this->redis非常灵活,它可以是任意类的实例化对象,那么我们可以调用任意对象的...在/system/Session/Session.php中的666行可以看到调用了set方法,我们跟进set方法。 ? 看来笔者的猜想是没错的。...0x03 POC编写&&环境依赖 CI框架建立于PHP>=7.2版本,在这些版本中,PHP对属性修饰符不太敏感,所以我们的POC类中的所有成员属性的对象修饰符都定义为了public。...攻击受害机的反序列化点 ? 读取到C:/Windows/win.ini的内容 ? 二、SQL注入 我们可以通过任意文件读取漏洞读取出数据库账号密码,然后再进行SQL注入。 ?...mysql_init() 来进行数据库链接,而TP则使用了PDO。

    4.9K20
    领券