codeigniter成功运行需三步:环境配置(php版本匹配、项目放web目录)、url与入口设置(base_url、默认控制器、ci4必须通过public目录访问)、控制器验证(建test控制器并正确访问)。

CodeIgniter上手不难,但得踩对几个关键点——环境放对位置、URL写准格式、入口路径别跳过,这三步走错一个,页面就打不开。下面直接按操作顺序讲清楚。
把项目放进Web服务器能访问的目录
别解压完就双击打开index.php,那肯定不行。必须让PHP环境能处理它:
- 确认PHP版本:CI3用PHP 5.6–7.4,CI4至少要PHP 8.0(CI4.5.3推荐PHP 8.1+)
- 把整个文件夹(比如myapp)放到htdocs(XAMPP)、www(Wamp)或/var/www/html(Linux)下
- 确保Apache/Nginx已启动,浏览器访问http://localhost/myapp能看到欢迎页才算真正跑起来
改好base_url和默认控制器
这步漏掉,CSS不加载、链接点不动、路由全乱——不是报错,是“看起来正常却功能失效”:
- CI3:打开application/config/config.php,改这一行:
$config['base_url'] = 'http://localhost/myapp/';(末尾斜杠不能少) - CI4:打开app/Config/App.php,改这一行:
public $baseURL = 'http://localhost/myapp/'; - CI3默认控制器在application/config/routes.php里:
$route['default_controller'] = 'welcome'; - CI4检查app/Config/Routes.php是否保留:
$routes->get('/', 'Home::index');
CI4必须注意public目录入口
CI4把安全入口强制挪到public/下,这是新手最常卡住的地方:
- 浏览器地址必须是http://localhost/myapp/public/,直接访问根目录会404
- 想隐藏/public?Apache用户启用mod_rewrite并确认public/.htaccess存在;Nginx用户需在server配置里加rewrite规则,指向public/index.php
- 别手动把index.php剪切到根目录——CI4设计就是靠public做隔离,硬改会破坏自动资源定位
写个能跑通的控制器验证流程
不用写业务逻辑,先打通MVC最小闭环:
- 在application/controllers/(CI3)或app/Controllers/(CI4)下建Test.php
- 内容写死输出(CI3示例):
class Test extends CI_Controller {
public function index() { echo 'Hello CI!'; }
} - 访问http://localhost/myapp/index.php/test(CI3)或http://localhost/myapp/public/index.php/test(CI4),看到文字就说明控制器生效











