在 Ubuntu 上让 ThinkPHP 连接数据库,一般分三步:装数据库 → 建库建用户 → 配置 ThinkPHP。下面以最常见的 MySQL / MariaDB + ThinkPHP 6 为例说明。
sudo apt update
sudo apt install mysql-server
启动并设置开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
安全初始化(可选但推荐):
sudo mysql_secure_installation
登录 MySQL:
sudo mysql -u root -p
创建数据库和用户:
CREATE DATABASE tp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'tp_user'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON tp_db.* TO 'tp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
/var/www/html/tp
ThinkPHP 6 配置文件:
config/database.php
示例配置:
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'tp_db',
'username' => 'tp_user',
'password' => '123456',
'hostport' => '3306',
'charset' => 'utf8mb4',
'prefix' => 'tp_',
],
],
];
在控制器中写测试代码:
use think\facade\Db;
public function test()
{
$res = Db::query("SELECT VERSION()");
dump($res);
}
浏览器访问或命令行:
php think run
localhost 但 PHP 用 socket(可改成 127.0.0.1)如果是远程数据库:
CREATE USER 'tp_user'@'%' IDENTIFIED BY '123456';
并修改:
'hostname' => '服务器IP',
如果你用的是 ThinkPHP 5 / 8、PostgreSQL、Docker 或 远程数据库,可以告诉我,我给你对应方案。