CodeIgniter对服务器环境要求核心是匹配且可控:CI3需PHP 5.6+(推荐7.4),启用mysqli、mbstring等扩展;CI4需PHP 8.0+,额外需xml、openssl等;Web根目录必须指向public/,Apache启用mod_rewrite并配置.htaccess,Nginx配try_files规则;writable目录须可写,baseURL和CI_ENVIRONMENT需正确设置,路由须显式注册。

CodeIgniter 对服务器环境的要求不高,但不同版本差异明显,配置稍有不慎就容易报错或白屏。核心不是“越高越好”,而是“匹配且可控”。
PHP 版本与扩展要求
CI3 和 CI4 的最低门槛不同,混用会直接导致启动失败:
-
CodeIgniter 3.x:最低支持 PHP 5.6,推荐 PHP 7.4;必须启用
mysqli(或pdo_mysql)、mbstring、curl、json -
CodeIgniter 4.x(含 4.7.0):要求 PHP ≥ 8.0(官方明确不兼容 PHP 7.x),需额外启用
xml、openssl、filter;intl扩展建议开启(影响多语言和日期处理) - 本地开发用 XAMPP/WAMP/MAMP 可快速拉起,但注意检查实际 PHP 版本——XAMPP 默认可能仍是 PHP 7.4,需手动切换或升级
Web 服务器配置要点
Apache 和 Nginx 的处理逻辑不同,不能共用同一套规则:
-
Apache:必须启用
mod_rewrite;项目根目录指向public/(CI4)或含index.php的目录(CI3);.htaccess需放在public/下并确保AllowOverride All -
Nginx:无需 .htaccess,但在
server块中必须配置重写:try_files $uri $uri/ /index.php?$query_string;;root指向public/目录,而非项目根目录 - 常见陷阱:访问
http://localhost/myapp/报 404,其实是没配对 root 或重写规则;正确路径应是http://localhost/(已设好 root → public)
目录权限与可写路径
框架运行时需写入日志、缓存、编译视图等,权限不到位会静默失败:
-
CI4:
writable/目录(含子目录cache/、logs/、session/)必须可写;Linux 下常用chmod -R 755 writable或775(避免 777) -
CI3:
application/logs/和application/cache/同样需要写权限;若用数据库缓存,还需确认数据库用户有对应表操作权限 - Docker 或云服务部署时,常因挂载卷权限或 SELinux 限制导致写入失败,建议在容器启动脚本中加
chown -R www-data:writable类指令
基础配置项必须校验
很多报错其实源于几个关键配置没对齐:
-
baseURL:CI4 在app/Config/App.php中设置public $baseURL;不要硬编码为http://localhost/myapp/,应动态生成或通过.env注入 -
CI_ENVIRONMENT:优先用.env文件定义(如CI_ENVIRONMENT=development),比改index.php更安全;该值决定错误是否显示、日志级别、数据库调试开关等 -
路由注册:CI4 默认关闭自动路由,
$routes->setAutoRoute(false);访问任何控制器前,必须在app/Config/Routes.php中显式添加,例如$routes->get('/', 'Home::index');


















