CodeIgniter 4是一款轻量、快速、灵活且安全的PHP全栈Web框架,也是一套给PHP网站开发者使用的应用程序开发框架和工具包。它的目标是让你能够更快速的开发,同时提供了日常任务中所需的大量类库,以及简单的接口和逻辑结构。通过减少代码量,CodeIgniter 让你更加专注于你的创造性工作。需要的用户欢迎下载使用!
软件特色
1、小巧的框架
CodeIgniter 4 大小是 1.1MB,加上用户手册(epub)也只有 1.6MB。
2、出色的性能
CodeIgniter 的性能始终优于大多数同类框架。
3、不喜欢复杂,热爱简单
CodeIgniter 允许用户自由选择是否使用 MVC 架构。
4、强大的安全性
我们非常重视安全问题,内置针对 CSRF 和 XSS 攻击的保护。 CodeIgniter 4 增加了内容转义和 CSP
5、清晰与完善的文档
用户手册囊括了入门介绍、教程、“手把手”指导,还包括了框架组件的参考文档。
6、几乎 0 配置
基本设置都已经配置好了,仅需要配置你的数据库!
服务器要求
1、PHP与必需扩展
需要 PHP 8.2 或更高版本,并启用以下 PHP 扩展:
intl
mbstring
警告
PHP 7.4 已于 2022 年 11 月 28 日停止维护。
PHP 8.0 已于 2023 年 11 月 26 日停止维护。
PHP 8.1 已于 2025 年 12 月 31 日停止维护。
如果仍在使用 8.2 以下的 PHP 版本,请立即升级。
PHP 8.2 将于 2026 年 12 月 31 日停止维护。
备注
PHP 8.5 要求 CodeIgniter 4.7.0 或更高版本。
PHP 8.4 要求 CodeIgniter 4.6.0 或更高版本。
PHP 8.3 要求 CodeIgniter 4.4.4 或更高版本。
2、可选的 PHP 扩展
建议服务器启用以下 PHP 扩展:
mysqlnd (若使用 MySQL)
curl (若使用 CURLRequest)
imagick (若在 图像处理 类中使用 ImageMagickHandler)
gd (若在 图像处理 类中使用 GDHandler)
simplexml (若需格式化 XML)
使用缓存服务器时,需要启用以下 PHP 扩展:
memcache (若在 缓存 类中通过 Memcache 使用 MemcachedHandler)
memcached (若在 缓存 类中通过 Memcached 使用 MemcachedHandler)
redis (若在 缓存 类中使用 RedisHandler)
使用 PHPUnit 时,需要启用以下 PHP 扩展:
dom (若使用 TestResponse 类)
libxml (若使用 TestResponse 类)
xdebug (若使用 CIUnitTestCase::assertHeaderEmitted())
3、支持的数据库
绝大多数 Web 应用开发都需要数据库。 目前支持的数据库包括:
MySQL,通过 MySQLi 驱动(仅限 5.1 及以上版本)
PostgreSQL,通过 Postgre 驱动(仅限 7.4 及以上版本)
SQLite3,通过 SQLite3 驱动
Microsoft SQL Server,通过 SQLSRV 驱动(仅限 2012 及以上版本)
Oracle Database,通过 OCI8 驱动(仅限 12.1 及以上版本)
并非所有驱动程序都已针对 CodeIgniter 4 完成迁移或重写。 以下列出了尚未完成的驱动:
MySQL(5.1+),通过 pdo 驱动
Oracle,通过 pdo 驱动
PostgreSQL,通过 pdo 驱动
MSSQL,通过 pdo 驱动
SQLite,通过 sqlite (版本 2)和 pdo 驱动
CUBRID,通过 cubrid 和 pdo 驱动
Interbase/Firebird,通过 ibase 和 pdo 驱动
ODBC,通过 odbc 和 pdo 驱动(注:ODBC 实际上是一个抽象层)
更新日志
v4.7.5版本
修复:由 @michalsn 安全地插值日志记录器上下文值#10384
修复:解决由 @gr8man 提供的 HTTP 测试套件中导致随机顺序测试失败的全局状态污染问题#10372
修复:省略空的 CSP 标头,由 @michalsn 提供#10412
修复:移除 FiltersTest::setUp 中的破坏性 setServerArray([]) 方法,以防止随机顺序的测试失败(由 @gr8man 提供)。#10425
修复:当缺少参数 v 时,CLIRequest::parseCommand 中会出现 TypeError,由 @gr8man 提供#10415
修复:解决 Redis TTL 中的竞态条件并防止缓存测试状态泄漏(由 @gr8man 提供)#10374
修复:处理 get_dir_file_info() 中的空结果,作者:@gr8man#10407
修复:跳过无法读取的内容.env在启动::加载点环境@gr8man 在单独进程测试中#10417
修复:@michalsn 提出的蜜罐机器人检测问题,返回 403 错误。#10490
修复:将提示文本传递给 readlineCLI::prompt()所以退格键并不能删除它(@paulbalandan 发表)#10507
fix(Cookie): 由 @gr8man 验证原始 cookie 值#10516
修复(CodeIgniter):防止控制器返回 Response 时 gatherOutput 被调用两次(由 @gr8man 修复)#10369
修复:Memcached decrement() 在缺少键时给出错误的符号,由 @mdalikadar 提供#10512
修复:@gr8man 在 File 和 UploadedFile move() 中修正了文件权限和 chmod 目标#10519
修复:在重建 SQLite3 表时正确去除表前缀(作者:@karlgray)#10509
修复:在 Windows 系统上,使用 readline() 函数之前将提示符写入标准输出(STDOUT),由 @michalsn 提供。#10534
fix(Cookie): 由 @gr8man 验证 cookie 路径和域属性#10527
fix(I18n): 修复 Time::today()、yesterday() 和 tomorrow() 在不同时区中计算正确日期的问题,作者:@gr8man#10532
修复:当 readline() 到达文件末尾时返回空字符串,由 @paulbalandan 提出#10542
修复:拒绝不支持的数据库驱动程序make:migration --session作者:@paulbalandan#10546
修复(测试):重置is_windows()模拟状态CIUnitTestCase::tearDown()作者:@gr8man#10554
修复(缓存):在创建目录时设置安全的 0755 权限模式文件变量导出处理程序作者:@gr8man#10555
修复:停止文件定位器缓存@paulbalandan 在关机时恢复已删除的缓存#10559
修复:保留亚秒级精度基础模型@wakqasahmed 的日期时间戳#10561
修复(调试):将零时间视为有效的计时器启动,由 @gr8man 提供#10569
修复:拒绝非数字字符有效的信用卡号码()作者:@gr8man#10580
修复:抛出 Postgre 查询错误时禁用警告,此修复由 @wakqasahmed 完成。#10573
修复:防止无限循环word_wrap()由 @mdalikadar 发表,字数限制为 2 个字符。#10596
修复:解析模式限定的表名getFieldData()和protectIdentifiers()作者:@paulbalandan#10604
修复:转换 Postgre 批处理子查询值updateBatch()和删除批次()@paulbalandan 接受混合 PHP 类型#10601
修复:转换 OCI8 批处理子查询值updateBatch()和删除批次()@paulbalandan 接受混合 PHP 类型#10602
修复:避免未定义标准错误输出和标准输入在 CLI 之外,由 @paulbalandan 撰写#10605





























赣公网安备36010602000086号,版权投诉请发邮件到website-sun@qq.com,我们会尽快处理