宝塔面板部署ThinkPHP 8.0需三步:选PHP 8.1/8.2并启用必要扩展;网站根目录设为/public;关闭APP_DEBUG并屏蔽.env访问。还需设置runtime可写及配置伪静态规则。

宝塔面板部署 ThinkPHP 8.0 不需要懂命令行,但必须做对三件事:用对 PHP 版本、把网站根目录切到 public、关掉调试模式。漏掉任何一项,轻则 404 白屏,重则数据库密码直接暴露在网页上。
装 PHP 8.1 或 8.2,别选最新版
ThinkPHP 8.0 要求 PHP ≥ 8.0.0,但 PHP 8.0 已停止安全更新,8.3+ 又有兼容问题,所以推荐安装 8.1 或 8.2。
- 登录宝塔 → 左侧【软件商店】→ 搜索“PHP” → 找到 PHP 8.1(或 8.2)→ 点击【安装】
- 勾选扩展:fileinfo、mbstring、openssl、curl、pdo_mysql、ctype、json
- 安装完成后,点击该 PHP 版本右侧【设置】→【服务管理】→ 确保状态是“正在运行”,点【重启】一次
网站根目录必须设为 /public
ThinkPHP 8.0 的入口文件 index.php 在 public 目录里。如果网站根目录还指向项目顶层(比如 /www/wwwroot/myapp),所有请求都会绕过框架,直接报 404 或暴露 app/config 等敏感目录。
- 左侧【网站】→【添加站点】→ 填域名(测试可用 test.local)→ 根目录填 /www/wwwroot/think8 → PHP 版本选刚装好的 8.1
- 上传完整项目压缩包到该根目录 → 在线解压 → 确认有 public/、app/、config/ 等文件夹
- 返回【网站】列表 → 点击站点右侧【设置】→【网站目录】→ 将【运行目录】改为 /public → 勾选【重载Nginx配置】→ 【保存】
关掉 APP_DEBUG,删掉 .env 里的敏感信息
APP_DEBUG=true 是开发模式开关,线上环境开着等于把数据库账号密码、服务器路径、异常堆栈全打在网页上,非常危险。
立即学习“PHP免费学习笔记(深入)”;
- 进【文件】管理器,打开项目根目录下的 .env 文件
- 把 APP_DEBUG=true 改成 APP_DEBUG=false
- 检查 DATABASE 部分,用户名、密码、数据库名先留空,等后面在宝塔里单独建库再填
- 保存后,浏览器访问 http://你的域名/.env,必须返回 403 或 404 —— 如果能看见内容,说明没生效,需检查 Nginx 是否加了屏蔽规则
runtime 目录要可写,伪静态规则不能少
日志、缓存、模板编译都靠 runtime 目录,如果不可写,页面会报错或功能失效;URL 路由依赖伪静态规则转发请求,否则所有链接都是 404。
- 在【文件】管理器中找到 runtime 目录 → 右键 →【权限】→ 设置权限为 755,所有者和用户组都选 www
- 站点【设置】→【伪静态】→ 清空原有内容 → 粘贴以下规则:
location / {<br> try_files $uri $uri/ /index.php?$query_string;<br>} - 不用重启 Nginx,保存即生效



















