在 Ubuntu 上使用 ThinkPHP 整合 MySQL,通常包括:安装环境 → 创建数据库 → 配置 ThinkPHP → 测试连接。下面以 ThinkPHP 6 / 8 + MySQL 8 为例说明(PHP 7.4 / 8.x 通用)。
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl unzip -y
查看版本:
php -v
sudo apt install mysql-server -y
sudo mysql_secure_installation
启动 MySQL:
sudo systemctl start mysql
sudo systemctl enable mysql
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -v
登录 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;
composer create-project topthink/think tpapp
cd tpapp
目录结构:
tpapp/
├── app
├── config
├── public
├── runtime
编辑配置文件:
nano config/database.php
示例配置(MySQL):
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_',
],
],
];
nano app/controller/Index.php
<?php
namespace app\controller;
use think\facade\Db;
class Index
{
public function index()
{
$res = Db::query('SELECT VERSION() AS version');
return json($res);
}
}
访问:
http://localhost/tpapp/public/
返回 MySQL 版本即成功。
use think\facade\Db;
Db::table('tp_user')->insert([
'name' => 'test',
'age' => 18
]);
server {
listen 80;
server_name localhost;
root /var/www/tpapp/public;
location / {
index index.php;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
✅ 连接失败
php-mysql 已安装runtime/log✅ 权限问题
sudo chmod -R 777 runtime
如果你用的是:
可以告诉我,我可以给你对应版本的具体配置。