宝塔部署thinkphp6核心是环境配对、目录理清、规则写准:必须用php8.0(禁8.3+),装齐fileinfo/openssl/mbstring/pdo_mysql/redis扩展并重启php;网站运行目录须设为/public;伪静态规则用location / { try_files $uri $uri/ /index.php?$query_string; };上传前删runtime缓存、关闭app_debug。

宝塔面板部署ThinkPHP项目,核心就三件事:环境配对、目录理清、规则写准。不是所有PHP版本都能跑TP6,也不是上传完代码就能访问——漏掉任一环节,轻则404、白屏,重则502报错。
选对PHP版本并装齐关键扩展
ThinkPHP6官方明确推荐PHP 8.0,禁用PHP 8.3及以上版本,否则会出现函数未定义、路由失效等兼容问题。MySQL建议选5.7或8.0,与本地开发环境一致即可。
- 在宝塔「软件商店」搜索PHP,手动选择PHP 8.0(非最新版)安装
- 安装完成后,点击该PHP版本右侧「设置」→「安装扩展」
- 必须勾选:fileinfo、openssl、mbstring、pdo_mysql、redis(TP6路由、数据库、缓存全依赖)
- 扩展装完后,务必点击「重启」PHP服务,否则不生效
创建网站并正确设置运行目录
ThinkPHP6的入口文件index.php在public/子目录下,而宝塔默认把网站根目录指向项目根目录(如/www/wwwroot/myapp)。若不调整,静态资源404、URL路由全乱。
- 在宝塔「网站」→「添加站点」,填写域名(可填
test.local或直接用IP),根目录设为项目路径 - 提交后,点击该站点右侧「设置」→「网站目录」
- 将运行目录改为
/public(注意开头斜杠) - 勾选「重载Nginx配置」,点击「保存」
配置Nginx伪静态与PATH_INFO支持
TP6默认使用PATH_INFO模式解析URL,Nginx需通过伪静态规则把请求正确转发给public/index.php,否则所有路由都返回404。
- 进入站点「设置」→「伪静态」选项卡
- 清空原有内容,粘贴以下标准规则:
try_files $uri $uri/ /index.php?$query_string;
}
- 无需额外开启PATH_INFO开关,该规则已兼容TP6的路由机制
- 改完立即生效,不用重启Nginx
上传项目前的本地准备
别急着打包上传。本地项目若带缓存或调试配置,会干扰服务器首次运行。
- 删除本地项目根目录下的
runtime/整个文件夹(保留空目录结构即可) - 检查
.env文件,确保APP_DEBUG = false,DEFAULT_TIMEZONE = Asia/Shanghai -
DATABASE部分先留空或填占位值,数据库名、用户名、密码等后续在宝塔里单独创建再填入 - 上传时建议用.zip压缩包,通过宝塔「文件」管理器上传后在线解压,避免FTP断连丢文件
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











