宝塔面板调试模式怎么开
学完这篇,你能在宝塔面板(7.x/8.x/9.x)上把面板自身的调试输出和 PHP 站点的报错显示都打开,并在排查完后安全关掉它。
先说清楚:宝塔没有那个"开关"
宝塔面板的图形界面里没有一个叫"调试模式"的复选框。所谓开调试,实际是三件事的组合:让面板 Python 程序输出详细报错、让面板错误日志可查、让网站 PHP 显示错误。下面一步步来。
第一步:SSH 登录并确认版本
这一步要拿到 root 终端并知道自己的面板版本,后面的命令和菜单编号才对得上。
用 SSH 工具(Xshell、FinalShell 或终端)连服务器:
ssh root@你的服务器IP
bt
输入 bt 回车后会出现蓝色菜单,顶部一般会显示面板版本号。如果提示命令不存在,先执行 /etc/init.d/bt default 看面板信息。
注意:
bt命令必须用 root 执行,普通用户会提示权限不足;部分云厂商镜像需要sudo bt。
第二步:从 bt 菜单打开面板错误日志
这一步要确认面板当前有没有在写错误日志,日志是排查的第一现场。
在 bt 菜单里输入数字(按菜单文字选,不同版本编号不同,不要死记数字),找到"显示面板错误日志"这一项,回车后会直接打印最近的报错。日志文件本体在:
tail -n 200 /www/server/panel/logs/error.log
tail -n 200 /www/server/panel/logs/request.log
error.log 是程序异常,request.log 是接口请求记录,两个配合看能定位到具体是哪个接口挂了。
第三步:开启面板 Python 调试模式
这一步让面板把完整堆栈打出来,是"调试模式"的核心。
在宝塔里,调试模式由文件开关控制:只要 /www/server/panel/data/debug.pl 这个文件存在,面板就进入调试状态。用 root 执行:
touch /www/server/panel/data/debug.pl
bt 1
bt 1 是重启面板(同样按菜单文字选"重启面板服务")。重启后,面板页面上再出现报错时,会直接显示 Python 的详细错误信息,而不是笼统的"服务器内部错误"。
如果你想更彻底,还可以让面板以调试端口运行,在 /www/server/panel/data/ 下创建 debug.pl 后观察:
tail -f /www/server/panel/logs/error.log
保持这个窗口开着,再去网页上点触发报错的操作,日志会实时滚动。
注意:调试模式下报错信息会包含服务器绝对路径、代码片段、部分配置值。如果面板端口暴露在公网,务必排查完立刻删除开关文件,不要让它在生产环境长期存在。
第四步:关闭调试模式
排查完必须关掉,这一步只需一条命令:
rm -f /www/server/panel/data/debug.pl
bt 1
重启后刷新面板,报错又恢复成通用提示,说明已正常退出调试状态。
第五步:网站 PHP 层面单独开调试
面板调试只覆盖面板本身,网站报错是另一套。进入 网站 → 找到站点 → 设置 → 配置文件,在站点根目录的 .user.ini 里加:
display_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /www/wwwlogs/php_error.log
保存后重载 PHP-FPM:软件商店 → 已安装 → PHP-7.4(你的版本)→ 设置 → 服务 → 重启。Nginx 的错误日志则在 /www/wwwlogs/你的域名.error.log。
注意:
.user.ini有生效延迟(默认 300 秒),等不及就直接重启 PHP-FPM;另外 PHP 8 环境下display_errors建议只在测试站打开,线上开着会泄露文件路径。
小结
- 宝塔没有"调试模式"按钮,靠
/www/server/panel/data/debug.pl文件开关实现 - 开:
touch该文件 +bt菜单重启面板;关:rm -f该文件 + 重启 - 日志三件套:
/www/server/panel/logs/error.log(面板异常)、request.log(接口请求)、/www/wwwlogs/(网站与 Nginx) - 网站 PHP 报错改站点根目录
.user.ini,改完重启 PHP-FPM - 调试模式会暴露路径和代码,排查完必须立即关闭
原文链接:https://www.gj0.com/thread-877.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。