ThinkPHP6宝塔部署关键在三点:必须用PHP8.0(禁8.3+)、网站运行目录设为/public、伪静态规则为location / { try_files $uri $uri/ /index.php?$query_string; };需装齐fileinfo/openssl/mbstring/pdo_mysql/redis扩展并重启PHP,上传前删runtime缓存、关闭APP_DEBUG。

ThinkPHP部署环境搭建关键在三点:选对PHP版本、把public设为网站根目录、配准Nginx伪静态规则。漏掉任一环节,轻则404、白屏,重则502报错。
装对PHP版本并启用必需扩展
TP6官方明确要求PHP 8.0,禁用8.3及以上版本——否则会出现函数未定义、路由失效等问题。MySQL建议选5.7或8.0,与本地开发环境一致即可。 - 在宝塔「软件商店」搜索PHP,手动选择**PHP 8.0**(不是“最新版”)安装 - 安装完成后,点击该PHP右侧「设置」→「安装扩展」 - 必须勾选:**fileinfo、openssl、mbstring、pdo_mysql、redis** - 扩展装完后,务必点击「重启」PHP服务,否则不生效创建网站并把运行目录指向/public
ThinkPHP6入口文件index.php在public/下,所有请求必须经此统一调度。若网站根目录指向项目根目录(如/www/wwwroot/myapp),会导致: - app/和config/目录被直接访问,存在源码泄露风险 - 静态资源(如public/static/)全部404 - 路由解析失败,页面空白或报Class 'think\App' not found操作步骤:
- 「网站」→「添加站点」,填写域名(可用test.local或服务器IP),根目录设为项目路径
- 提交后,点击站点右侧「设置」→「网站目录」
- 将「运行目录」改为 /public(注意开头斜杠)
- 勾选「重载Nginx配置」,点击「保存」
配置Nginx伪静态规则
TP6默认使用PATH_INFO模式,需靠Nginx规则把请求正确转发给public/index.php,否则所有路由返回404。 - 进入站点「设置」→「伪静态」选项卡 - 清空原有内容,粘贴以下标准规则: ``` location / { try_files $uri $uri/ /index.php?$query_string; } ``` - 保存后立即生效,无需重启Nginx上传前清理本地项目
缓存和调试配置会干扰服务器首次运行,务必提前处理: - 删除本地项目根目录下的 **runtime/** 文件夹(保留空目录结构即可) - 检查.env文件,确保APP_DEBUG = false,DATABASE部分先留空或填占位值(数据库名、用户名、密码后续在宝塔单独创建再填) - 上传时建议用.zip压缩包,通过宝塔「文件」管理器上传后在线解压,避免FTP断连丢文件不复杂但容易忽略



















