CodeIgniter网站搭建需四步:①解压至Web根目录(如htdocs/myapp);②配置base_url和默认控制器;③CI4必须通过/public/访问或配置重写;④创建控制器并设置路由,最后配置数据库验证连通性。

想用CodeIgniter快速搭起一个能跑起来的PHP网站,但卡在下载后不知道从哪下手、改哪个文件、URL为什么打不开——这篇教程就从你解压完zip包那一刻开始教,不讲概念,只走真实操作路径。
确认环境并解压到Web可访问目录
确保你的服务器已启用PHP 7.4及以上版本(CI4要求PHP 8.0+,CI3最低支持PHP 5.6),Apache或Nginx已运行。不要把CodeIgniter文件夹放在桌面或文档里——【必须放在Web根目录或子目录下,例如htdocs、www、/var/www/html】。
从官网 codeigniter.com 下载最新稳定版(当前CI4为v4.5.3,CI3为v3.1.13),解压后得到一个含application/、system/、public/(CI4)或index.php(CI3)的文件夹。
将整个文件夹重命名为myapp,移动至localhost可解析的路径,比如XAMPP的htdocs/myapp。
配置基础URL与默认控制器
打开 application/config/config.php(CI3)或 app/Config/App.php(CI4),找到 base_url 配置项。
CI3写法:$config['base_url'] = 'http://localhost/myapp/'; ——注意末尾斜杠不能少,否则资源加载失败。
CI4写法:在 App.php 中修改 public $baseURL = 'http://localhost/myapp/';,同样要带末尾斜杠。
接着设默认首页:CI3修改 application/config/routes.php 中 $route['default_controller'] = 'welcome';;CI4在 app/Config/Routes.php 中确认 $routes->setAutoRoute(true); 并保留 $routes->get('/', 'Home::index'); 这行。
调整入口文件位置(CI4专属关键步骤)
CI4不再把index.php放在项目根目录,而是移到public/子目录下——这是安全强制要求。
把浏览器地址从 http://localhost/myapp/ 改为 http://localhost/myapp/public/ 才能访问欢迎页。若不想暴露/public,需配置Web服务器重写规则。
Apache用户:确保 .htaccess 文件存在于public/目录且已启用mod_rewrite;Nginx用户:需在server块中添加 location / { try_files $uri $uri/ /index.php?$query_string; } 并指向public/index.php。
【跳过此步直接访问根目录会报404,且错误提示不明确——这是新手最高频的卡点】
创建第一个可访问的控制器
方法一:CI3方式(兼容老项目)
在 application/controllers/ 下新建 Hello.php:
```php
defined('BASEPATH') OR exit('No direct script access allowed');
class Hello extends CI_Controller {
public function index()
{
echo 'Hello CodeIgniter!';
}
}
```
保存后访问 http://localhost/myapp/index.php/hello ——注意index.php不可省略(除非已配URL重写)。
方法二:CI4方式(推荐新项目)
在 app/Controllers/ 下新建 Test.php:
```php
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
class Test extends Controller
{
public function index()
{
return view('welcome_message');
}
}
```
然后在 app/Config/Routes.php 中添加路由:$routes->get('/test', 'Test::index');,再访问 http://localhost/myapp/public/test 即可看到页面。
连接数据库并验证是否生效
第一步:创建数据库,如名为ci_demo,字符集选utf8mb4_general_ci。
第二步:CI3配置文件为 application/config/database.php,填入:
```php
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'ci_demo',
'dbdriver' => 'mysqli',
);
```
CI4配置文件为 app/Config/Database.php,修改 default 组的 hostname、username、password、database 四项即可。
第三步:在控制器方法里加一句测试代码:$this->db->query("SELECT 1")->getResult();(CI3)或 db_connect()->query("SELECT 1")->getResult();(CI4)。如果没报错,说明连通成功。


















