先开启php错误显示再排查:在public/index.php首行加ini_set('display_errors','1'),确保web服务器根目录指向public/,runtime目录需775权限且属主为www,伪静态规则必须正确配置。

页面空白不是没报错,是报错被吞了——先让错误浮出来,再顺着堆栈往下查。
public/index.php开头加两行就暴露致命错误
ThinkPHP 的 APP_DEBUG 配置只管框架层异常,PHP 底层致命错误(比如语法错、扩展没装、vendor/autoload.php 加载失败)根本进不到框架里,ini_set('display_errors', '1') 必须写在 public/index.php 第一行 PHP 标签后、任何 require 或 include 之前。
- 加完立刻刷新,如果出现红色
Fatal error: Class 'think\App' not found,说明问题出在自动加载或入口路径 - 如果还是空白,说明错误发生在更早阶段:可能是
php.ini级别display_errors = Off被强制关闭,或 Web 服务器(如 Nginx)通过fastcgi_param PHP_VALUE "display_errors=Off"覆盖了脚本设置 - 别在 CLI 下测试:运行
php public/index.php看不到 HTML 错误堆栈,且 CLI 和 Web 环境的 SAPI、配置完全隔离
宝塔/Nginx/Apache 的根目录必须指向 public/
ThinkPHP 6+ 强制要求 Web 服务器的 DocumentRoot 落在 public/ 目录下。设成项目根目录(含 app/、config/、vendor/ 那层),会导致 vendor/autoload.php 路径计算错误,命名空间注册失败,直接触发 Fatal error 且不报错。
- 宝塔用户:网站 → 设置 → 「根目录」必须选
/www/wwwroot/your-site/public(下拉选择,不要手动输) - Nginx 用户:检查
server块中root指令是否为root /path/to/your-project/public;(末尾分号不能漏) - Apache 用户:确认
DocumentRoot指向public,且.htaccess文件存在并启用mod_rewrite - 验证方式:浏览器访问
http://yoursite.com/public/index.php,若返回 404 或 500,说明 Web 服务器根本没把请求交给 PHP 处理
runtime 目录权限只给它自己,别碰其他目录
runtime/ 是 ThinkPHP 运行时唯一需要写的目录,用来存日志、缓存、模板编译文件。给整个项目递归 chmod -R 755 不但无效,还会导致安全警告,甚至让框架拒绝启动。
- 只对
runtime及其子目录赋权:chmod -R 775 runtime - 确保属主与 PHP 进程用户一致:宝塔默认是
www,执行chown -R www:www runtime - 检查
runtime/log/下是否有按日期生成的日志文件(如202608/31.log),没有说明不可写,或config/app.php中'log' => ['type' => 'test']被设成了哑巴模式 - 刚部署建议删掉整个
runtime目录,让框架重新生成干净缓存
伪静态规则失效会导致首页通、其他路由 404 或空白
首页能打开但点菜单就 404,基本是 URL 重写没生效。ThinkPHP 默认依赖重写把所有请求转发给 public/index.php 处理。
- Apache:确认项目根目录下有
.htaccess,且宝塔面板中「伪静态」已选「ThinkPHP」模板 - Nginx:
server块中必须包含try_files $uri $uri/ /index.php?$query_string;,漏掉$uri/会导致/admin/这类带斜杠路径直接 404 - 快速验证:访问
http://yoursite.com/index.php?s=/index/index,能通说明路由逻辑正常,问题纯属重写配置 - 别信
php think run:它走 CLI 模式,不经过 Web 服务器和重写规则,结果毫无参考价值
真正卡住人的地方,往往不是某一个配置错了,而是多个环节叠加失效——比如 display_errors 没开,public/ 目录又设错,runtime 权限还锁死了,错误层层被吞,最后只剩一片白。每次只改一点,每步都用 curl -I 或看日志验证,比盲目调参快得多。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











