在 Ubuntu 上搭建 ThinkPHP 项目时,数据库连接是绕不开的一环。下面整理的几个关键步骤,基本覆盖从环境配置到验证的全流程,拿来就能用。

- 安装数据库服务器
首先得在系统里装一个数据库,MySQL 或者 PostgreSQL 都行,这里以 MySQL 为例:
sudo apt update
sudo apt install mysql-server
- 安装 PHP 数据库扩展
要让 ThinkPHP 能和数据库“对话”,还得装上对应的 PHP 扩展。连接 MySQL 的话,装php-mysql就行:
sudo apt install php-mysql
sudo systemctl restart apache2
如果用 Nginx + PHP-FPM,则执行:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
- 配置 ThinkPHP 数据库连接
接下来打开项目的config/database.php文件,找到connections部分,把数据库连接信息填进去:
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket'=> env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
],
注意根据实际情况修改 host、database、username 和 password 这些参数。
- 测试数据库连接
最后写个简单脚本验证一下。在项目根目录创建test_db.php,内容如下:
select();
echo "Connection successful!";
print_r($result);
} catch (\think\db\exception\DataNotFoundException $e) {
echo "Table not found!";
} catch (\think\db\exception\ModelNotFoundException $e) {
echo "Model not found!";
} catch (\think\Exception $e) {
echo "Error: " . $e->getMessage();
}
把 your_table_name 换成你数据库里已有的表名,然后在浏览器里访问 test_db.php。如果能看到数据输出,说明连接已经搞定。
至此,Ubuntu 下 ThinkPHP 连接数据库的配置就完成了。这套流程对 MySQL 和 MariaDB 都适用,另外几个步骤里的环境变量建议用 .env 文件管理,方便不同环境切换。