thinkphp 5.0.24 数据库配置需手动创建 config/database.php 文件并返回完整关联数组,必须包含 type、hostname、database、username、password 五个键,且文件编码为 utf-8 no bom,路径、格式、参数缺一不可。

ThinkPHP 5.0.24 安装完成后,数据库配置需手动完成,因为框架默认不预设有效连接。关键不是改对文件,而是确保配置被正确加载、字段完整、路径无误。
确认配置文件位置和格式
TP5.0.24 的数据库配置文件应放在 config/database.php(注意不是 application/database.php 或 app/database.php)。该文件必须返回一个关联数组,且不能有语法错误或多余输出。常见错误是文件开头有空格、BOM头,或末尾多了一个分号导致解析失败。
- 文件路径示例:
your_project_root/config/database.php - 必须以
return [ ... ];结束,不能用echo或var_dump - 若使用 IDE 自动保存为 UTF-8 with BOM,请改为 UTF-8 no BOM
填写必需的数据库连接参数
MySQL 连接至少要包含以下 5 个键,缺一不可,否则会报“Connection not found”或“No database selected”:
-
type:值为
'mysql'(字符串,不能写成 mysql 或 MYSQL) -
hostname:数据库服务器地址,如
'127.0.0.1'或'localhost' - database:目标数据库名,必须已存在,且用户有访问权限
-
username:数据库用户名,如
'root' -
password:对应密码,空密码也要写成
''
建议同时显式声明:'hostport' => '3306'、'charset' => 'utf8mb4'、'prefix' => 'tp_',避免编码或前缀引发的隐性问题。
验证配置是否生效
不要只看文件内容,要检查运行时实际加载的值:
- 在控制器中加入:
dump(\think\Config::get('database')); - 如果输出仍是空数组或默认值,说明 config/database.php 没被加载——检查文件名是否拼错(比如写成 databse.php)、是否放在了 public/ 下、或被其他配置覆盖
- 若显示了正确配置但仍连不上,用命令行测试 MySQL 连通性:
mysql -h127.0.0.1 -uroot -p123456 -D your_db_name
临时调试可用 Db::connect() 直连
如果 config/database.php 配置迟迟不生效,可绕过它直接传数组连接,快速验证环境是否正常:
$db = \think\Db::connect([
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'test_db',
'username' => 'root',
'password' => '123456',
'hostport' => '3306',
'charset' => 'utf8mb4'
]);
$result = $db->query('SELECT VERSION()');
dump($result);
成功则说明 PHP 环境、扩展(pdo_mysql)、网络、账号权限均正常,问题一定出在配置加载环节。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











