先手工作:项目构建
安装 PHPStudy
安装完成后 如下操作
-
先 安装 composer2.5.8
-
再 初始化 tp6 项目
composer create-project topthink/think:^6.0 tp6_demo
启动项目
配置完就能直接浏览器访问了:
-
打开 phpStudy → 左侧 【网站】 → 点击 【创建网站】
-
填写信息:
- 域名 :随便填(比如
tp6.local) - 端口:默认80(被占用就改8080)
- 根目录 :必须选
D:\phpstudy_pro\WWW\tp6_demo\public - PHP版本 :选
8.0.2nts
- 域名 :随便填(比如
-
点击 确认
-
打开浏览器,输入你填的域名(比如
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
编辑项目
第一步:开启调试模式(看真实错误)
- 打开你的项目目录:
D:\phpstudy_pro\WWW\tp6_demo - 找到文件:
.env(如果没有,复制.example.env重命名为.env) - 打开
.env,修改这一行:
ini
APP_DEBUG = true
保存,刷新页面,就能看到真实报错。
第二步:创建 Test 控制器(必须做,才能访问 /test)
- 进入目录:
tp6_demo/app/controller - 新建文件:
Test.php,复制下面代码:
php
<?php
namespace app\controller;
class Test
{
public function index()
{
return '我是Test页面!访问成功';
}
}
保存后,刷新 http://localhost:8086/test,就能正常打开!
一、第一步:宝塔安装运行环境(和你本地环境匹配)
打开宝塔 → 左侧 软件商店,安装这3个软件(必须装,版本和本地一致)
- Nginx(Web服务,选最新稳定版)
- MySQL 5.7 / 8.0(数据库,和你本地一致)
- PHP 8.0 (必须选PHP8.0,和你本地版本一样 ,Linux 是
php8.0-fpm,没有nts)
给PHP8.0安装必备扩展(TP6必须)
找到 PHP8.0 → 点击【设置】→【安装扩展】,勾选安装:
fileinfo、openssl、mbstring、pdo_mysql、redis
安装完 一定要 重启一下!
二、第二步:新建网站(核心!和你本地配置完全对应)
- 左侧【网站】→【添加站点】
- 填写信息:
- 域名 :填你的域名(没有域名直接填服务器公网IP)
- 根目录 :
/www/wwwroot/你的站点名/public
⚠️ 重点:和本地一样!网站根目录必须直接指向项目的 public 文件夹 - PHP版本:选择
PHP-8.0 - 数据库:勾选【创建数据库】,记录数据库名、账号、密码
- 点击【提交】
三、第三步:本地 TP6 项目 上线前修改(必须改)
打开你本地电脑的 TP6 项目,修改2个文件:
1. 关闭调试模式(上线安全!)
打开项目根目录 .env 文件
ini
# 改为 false,禁止报错信息泄露
APP_DEBUG = false
2. 配置服务器数据库信息
打开 .env 或 config/database.php,改成宝塔新建的数据库账号密码:
ini
DB_HOST=127.0.0.1
DB_NAME=宝塔给你的数据库名
DB_USER=宝塔数据库用户名
DB_PASS=宝塔数据库密码
DB_PORT=3306
3. 清理缓存
删除项目里 runtime 文件夹里所有文件(缓存)
四、第四步:上传项目到服务器
-
宝塔左侧【文件】→ 进入你的站点根目录上级(
/www/wwwroot/你的站点名/) -
把你本地整个 tp6_demo 项目,全部上传到这里
上传后结构:/www/wwwroot/你的站点名/ ├─ app/ ├─ public/ ← 网站根目录指向这里 ├─ config/ └─ ...
五、第五步:配置伪静态(和你本地一模一样!)
- 网站列表 → 找到你的站点 → 点击【设置】
- 切换到【伪静态】
- 直接粘贴 Nginx 专用 TP6 规则(复制下面全部):
nginx
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
- 点击【保存】
六、第六步:设置目录权限(Linux 必做!90%报错都是权限问题)
- 回到文件管理,找到项目的2个目录:
runtime(缓存目录)public
- 右键 → 权限,设置为 755
(宝塔里直接勾选读写执行,不用记数字)
七、第七步:导入数据库
- 宝塔左侧【数据库】→ 找到你创建的数据库 → 点击【导入】
- 上传你本地导出的
.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已防护,不用额外设置。
最简总结(和你本地操作一一对应)
- 宝塔装:Nginx + MySQL5.7 + PHP8.0
- 新建站点,根目录指向 public
- 上传项目、改数据库配置、关闭调试
- 配置伪静态、设置权限
- 放行安全组,完成!