codeigniter 4 将 ci3 的 config.php 拆分为多个命名空间类,如 app.php、encryption.php、security.php、session.php 等,分别管理 baseurl、encryption key、csrf、session 等配置,且不再兼容 ci3 的 config.php。

CodeIgniter 3 的 config.php(位于 application/config/)是一个集中式配置文件,包含大量全局设置,如 base_url、index_page、uri_protocol、encryption_key 等。而 CodeIgniter 4 采用模块化、面向类的配置体系,不再有单个 config.php,而是将原 CI3 的配置项按功能拆分到多个命名空间类中,统一放在 app/Config/ 目录下。
以下是 CI3 常见 config.php 配置项在 CI4 中的对应位置与说明:
base_url、index_page、uri_protocol、charset 等基础 Web 配置
对应文件:app/Config/App.php
-
$baseURL→ 替代 CI3 的base_url(注意是完整 URL,如'https://example.com/',末尾需带/) -
$indexPage→ 对应 CI3 的index_page(默认为空字符串,因 CI4 推荐移除index.php) -
$uriProtocol→ 对应 CI3 的uri_protocol(值同为'REQUEST_URI'、'QUERY_STRING'等) -
$charset→ 对应 CI3 的charset(默认'UTF-8') -
$forceGlobalSecureRequests→ 类似 CI3 的ssl_enabled逻辑(启用后自动重定向 HTTP → HTTPS)
encryption_key
对应文件:app/Config/Encryption.php
-
$key属性即为加密密钥(CI4 要求长度符合所选 driver 要求,如 AES-256 需 32 字节) - 注意:CI4 的
Encryption服务已弃用 MCrypt,仅支持 OpenSSL 或 Sodium
csrf_protection、csrf_token_name、csrf_cookie_name
对应文件:app/Config/Security.php(自 4.0.5 后统一迁移至此)
-
$csrfProtection = true→ 开启 CSRF 防护 -
$tokenName = 'csrf_test_name'→ 表单字段名(等效 CI3 的csrf_token_name) -
$headerName = 'X-CSRF-TOKEN'→ 请求头名称(CI4 新增,CI3 不支持) -
$regenerate = true→ 是否每次请求刷新令牌(默认开启)
sess_driver、sess_cookie_name、sess_expiration 等会话配置
对应文件:app/Config/Session.php
-
$driver→ 如'files'、'database'、'redis' -
$cookieName→ 替代 CI3 的sess_cookie_name -
$expiration→ 单位为秒,对应sess_expiration -
$savePath→ 对应sess_save_path(如使用 database 驱动,需配合app/Config/Database.php中的表名)
其他常见项归类
-
log_threshold、log_path、log_file_extension→app/Config/Logger.php -
cookie_prefix、cookie_domain、cookie_secure→app/Config/Cookie.php -
enable_hooks、hook_points→ CI4 已移除 Hooks 机制,推荐改用 Events(Events类 +app/Config/Events.php) -
subclass_prefix→ CI4 无子类前缀概念,通过命名空间和继承直接实现
⚠️ 注意:CI4 不再读取或兼容 CI3 的
application/config/config.php。升级时需手动将原有配置逐项映射到对应 Config 类中,并确保类属性已正确定义(如public string $baseURL = '';)。部分配置(如composer_autoload)已在 CI4 中由 Composer 自动处理,无需手动设置。
基本上就这些。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











