codeigniter 4 正常运行必需 intl、mbstring、json 扩展,gd 在图像处理时强制要求;推荐启用 curl、openssl、pdo 及对应数据库驱动。需确认 web 服务器使用的 php.ini 并重启服务生效。

CodeIgniter 4 要正常运行,必须启用几个关键 PHP 扩展。这些扩展不是可选的——框架在启动时会主动检测,缺失任一都会直接报错并中断初始化。
必需的核心扩展(缺一不可)
intl:用于国际化(i18n)和本地化(l10n),比如语言包加载、日期/数字格式化。CI4 在SYSTEMPATH/CodeIgniter.php的resolvePlatformExtensions()中强制校验,报错提示为:The framework needs the following extension(s) installed and loaded: intlmbstring:处理多字节字符(如中文、日文、emoji),影响 URI 解析、输入过滤、字符串操作等。未启用会导致路由匹配失败、表单验证异常等问题。json:PHP 内置扩展,CI4 配置解析、Session 序列化、API 响应都依赖它。几乎所有现代 PHP 安装默认已启用,但仍需确认。gd(图像处理场景下必需):调用Services::image()进行缩放、裁剪、加水印等操作时,GD 是默认后端。报错提示为:The framework needs the following extension(s) installed and loaded: GD
⚠️ 注意:若项目完全不涉及图片处理,GD 可不启用;但一旦使用Image服务,就必须装好并加载。
强烈建议启用的扩展(非强制但实际开发中几乎必用)
curl:用于 HTTP 客户端请求(如调用第三方 API)、Composer 更新、部分第三方库依赖。openssl:支持 HTTPS 请求、加密函数、JWT、Session 安全签名等。生产环境必备。pdo+ 对应数据库驱动(如pdo_mysql或pdo_pgsql):数据库操作的基础。即使你暂时不用数据库,只要配置了.env中的database.default.*,CI4 的数据库类初始化就可能触发依赖检查。
验证是否生效的关键点
不要只改 CLI 的
php.ini—— Web 服务器(Apache/Nginx+PHP-FPM)用的是另一套配置。最可靠方式是创建一个info.php文件,内容为<?php phpinfo(); ?>,通过浏览器访问,查找 “Loaded Configuration File” 和各扩展模块是否出现在页面中。修改
php.ini后,必须重启 Web 服务(如sudo systemctl restart apache2或sudo systemctl restart php8.1-fpm),否则更改不生效。Windows 下(如 Wamp/XAMPP),通常需取消
php.ini中对应扩展行前的分号,例如:extension=mbstringextension=intlextension=gd
并确保extension_dir指向正确的ext目录。
不复杂但容易忽略
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











