宝塔面板部署 ThinkPHP6 后端

先手工作:项目构建

安装 PHPStudy

安装完成后 如下操作

  • 先 安装 composer2.5.8

  • 再 初始化 tp6 项目

    composer create-project topthink/think:^6.0 tp6_demo

启动项目

配置完就能直接浏览器访问了:

  1. 打开 phpStudy → 左侧 【网站】 → 点击 【创建网站】

  2. 填写信息:

    • 域名 :随便填(比如 tp6.local
    • 端口:默认80(被占用就改8080)
    • 根目录必须选 D:\phpstudy_pro\WWW\tp6_demo\public
    • PHP版本 :选 8.0.2nts
  3. 点击 确认

  4. 打开浏览器,输入你填的域名(比如 http://tp6.local

    看到 ThinkPHP 6.0 欢迎页面 = 全部大功告成!

nginx 伪静态设置

网站 → 伪静态,清空原有内容,粘贴下面官方标准规则

sh 复制代码
location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=$1 last;
        break;
    }
}

如果没有设置伪静态,http://localhost:8086/test 绝对打不开!一定会报 404 错误!

不设置伪静态,只能用这种丑地址才能访问:http://localhost:8086/index.php?s=test

编辑项目

第一步:开启调试模式(看真实错误)

  1. 打开你的项目目录:D:\phpstudy_pro\WWW\tp6_demo
  2. 找到文件:.env(如果没有,复制 .example.env 重命名为 .env
  3. 打开 .env,修改这一行:
ini 复制代码
APP_DEBUG = true

保存,刷新页面,就能看到真实报错


第二步:创建 Test 控制器(必须做,才能访问 /test)

  1. 进入目录:tp6_demo/app/controller
  2. 新建文件:Test.php,复制下面代码:
php 复制代码
<?php
namespace app\controller;

class Test
{
    public function index()
    {
        return '我是Test页面!访问成功';
    }
}

保存后,刷新 http://localhost:8086/test,就能正常打开!


一、第一步:宝塔安装运行环境(和你本地环境匹配)

打开宝塔 → 左侧 软件商店,安装这3个软件(必须装,版本和本地一致)

  1. Nginx(Web服务,选最新稳定版)
  2. MySQL 5.7 / 8.0(数据库,和你本地一致)
  3. PHP 8.0必须选PHP8.0,和你本地版本一样 ,Linux 是 php8.0-fpm,没有nts)

给PHP8.0安装必备扩展(TP6必须)

找到 PHP8.0 → 点击【设置】→【安装扩展】,勾选安装:
fileinfo、openssl、mbstring、pdo_mysql、redis

安装完 一定要 重启一下!

二、第二步:新建网站(核心!和你本地配置完全对应)

  1. 左侧【网站】→【添加站点】
  2. 填写信息:
    • 域名 :填你的域名(没有域名直接填服务器公网IP
    • 根目录/www/wwwroot/你的站点名/public
      ⚠️ 重点:和本地一样!网站根目录必须直接指向项目的 public 文件夹
    • PHP版本:选择 PHP-8.0
    • 数据库:勾选【创建数据库】,记录数据库名、账号、密码
  3. 点击【提交】

三、第三步:本地 TP6 项目 上线前修改(必须改)

打开你本地电脑的 TP6 项目,修改2个文件:

1. 关闭调试模式(上线安全!)

打开项目根目录 .env 文件

ini 复制代码
# 改为 false,禁止报错信息泄露
APP_DEBUG = false

2. 配置服务器数据库信息

打开 .envconfig/database.php,改成宝塔新建的数据库账号密码

ini 复制代码
DB_HOST=127.0.0.1
DB_NAME=宝塔给你的数据库名
DB_USER=宝塔数据库用户名
DB_PASS=宝塔数据库密码
DB_PORT=3306

3. 清理缓存

删除项目里 runtime 文件夹里所有文件(缓存)


四、第四步:上传项目到服务器

  1. 宝塔左侧【文件】→ 进入你的站点根目录上级(/www/wwwroot/你的站点名/

  2. 把你本地整个 tp6_demo 项目,全部上传到这里
    上传后结构:

    复制代码
    /www/wwwroot/你的站点名/
    ├─ app/
    ├─ public/  ← 网站根目录指向这里
    ├─ config/
    └─ ...

五、第五步:配置伪静态(和你本地一模一样!)

  1. 网站列表 → 找到你的站点 → 点击【设置】
  2. 切换到【伪静态】
  3. 直接粘贴 Nginx 专用 TP6 规则(复制下面全部):
nginx 复制代码
if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=$1 last;
    break;
}
  1. 点击【保存】

六、第六步:设置目录权限(Linux 必做!90%报错都是权限问题)

  1. 回到文件管理,找到项目的2个目录:
    • runtime(缓存目录)
    • public
  2. 右键 → 权限,设置为 755
    (宝塔里直接勾选读写执行,不用记数字)

七、第七步:导入数据库

  1. 宝塔左侧【数据库】→ 找到你创建的数据库 → 点击【导入】
  2. 上传你本地导出的 .sql 数据库文件,导入即可

八、第八步:放行服务器安全组(必须!否则外网访问不了)

腾讯云后台 → 安全组 → 添加入站规则,放行端口:

  • 80(http访问)
  • 443(https)
  • 22(远程连接)

九、测试访问 & 后端接口使用

浏览器/Postman 访问:
http://你的IP或域名/接口地址

例:http://xxx.xxx.xxx.xxx/test


针对你做后端API的额外配置(必看)

1. 开启跨域(前端调用接口必开)

在 TP6 项目 config/cors.php 开启跨域,或安装跨域中间件,解决前端跨域报错。

2. 隐藏入口文件(伪静态已搞定)

不用再写 index.php?s=,直接路由访问接口。

3. 禁止直接访问项目目录

宝塔默认Nginx已防护,不用额外设置。


最简总结(和你本地操作一一对应)

  1. 宝塔装:Nginx + MySQL5.7 + PHP8.0
  2. 新建站点,根目录指向 public
  3. 上传项目、改数据库配置、关闭调试
  4. 配置伪静态、设置权限
  5. 放行安全组,完成!
相关推荐
两个人的幸福5 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo7 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack7 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982078 天前
PHP 扩展——从入门到理解
php
鹏仔先生9 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下9 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip9 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
酉鬼女又兒9 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2509 天前
不要再继续优化 TCP
网络协议·tcp/ip·php
Channing Lewis9 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel