宝塔部署codeigniter需分三步:一在宝塔创建utf8mb4编码数据库并设指定ip权限;二通过phpmyadmin导入sql初始化数据;三配置application/config/database.php,确保hostname、用户名、密码、库名及字符集与宝塔一致,并验证连接。

宝塔面板部署 CodeIgniter 时,数据库配置需分两步走:先在宝塔中创建并初始化数据库,再在 CodeIgniter 项目里正确填写连接参数。关键不是“填对就行”,而是确保网络可通、权限可控、编码一致。
一、在宝塔面板中创建数据库
进入宝塔面板 → 左侧【数据库】→ 【添加数据库】:
-
数据库名:建议用英文小写,如
ci_app,避免特殊字符 -
用户名:默认与数据库名一致,也可自定义(如
ci_user) - 密码:设置强密码,不要用简单数字组合;可在创建后点击「修改密码」二次确认
-
访问权限:务必选「指定IP」,填入 Web 服务器的内网 IP(如
192.168.1.100)。若 Web 和数据库在同一台服务器,选「本地服务器」即可 -
编码格式:选
utf8mb4(兼容 emoji 和中文全角符号)
二、导入初始数据(如有)
创建完成后点击【管理】→ 进入 phpMyAdmin:
- 左侧选择刚建的数据库(如
ci_app) - 顶部点【SQL】标签页,粘贴你的建表 SQL 脚本(含
CREATE TABLE和INSERT) - 点击【执行】,确认无报错即完成初始化
三、修改 CodeIgniter 的 database.php 配置文件
路径通常为:application/config/database.php,找到 $db['default'] 数组,重点改以下几项:
-
'hostname':填数据库服务器 IP。本地部署填localhost;分离部署填数据库服务器内网 IP(如192.168.1.200) -
'username'和'password':必须与宝塔中创建的用户名、密码完全一致 -
'database':填你在宝塔中创建的数据库名(如ci_app) -
'dbdriver':根据实际选mysqli(MySQL)或postgre(PostgreSQL) -
'char_set'和'dbcollat':保持为'utf8mb4'和'utf8mb4_unicode_ci',与宝塔建库编码匹配
四、验证与常见问题处理
保存配置后,在控制器中加一行测试代码:
$this->load->database(); var_dump($this->db->conn_id); // 应返回 resource 或 object,非 false
如果报错,优先检查:
- 宝塔安全组或系统防火墙是否放行了 3306 端口(分离部署时必需)
- MySQL 是否允许远程连接:登录数据库服务器,执行
SELECT host, user FROM mysql.user;,确认对应用户 host 是指定IP或%(不推荐) - CodeIgniter 的
autoload.php中是否已启用 database 类:$autoload['libraries'] = array('database');











