常见问题
子比主题常见报错、环境问题、缓存问题、支付邮件问题和提问排查方法。
先看这页解决什么
这页不是把所有报错都简单归类成“插件冲突”或“服务器问题”,而是教你按顺序把问题缩小到具体位置:是 WordPress 基础环境、子比主题设置、服务器伪静态、缓存/CDN、插件冲突、支付回调、邮件 SMTP,还是你自己写的子主题和插件代码。
如果你是小白用户,遇到问题时不要急着重装主题,也不要直接改主题核心文件。先按本文的顺序排查,通常可以很快知道下一步该查哪里、该搜索什么关键词、该给别人提供什么信息。
遇到问题先收集信息
很多问题之所以查不动,是因为只看到一句“网站打不开”“按钮没反应”“报错了”,但不知道问题发生在哪一层。排查前先准备这些信息:
| 信息 | 到哪里看 | 为什么重要 |
|---|---|---|
| 子比主题版本 | WordPress 后台 外观 -> 主题 或主题设置页 | 不同版本功能和兼容性可能不同 |
| WordPress 版本 | WordPress 后台 仪表盘 -> 更新 | 判断是否是核心版本兼容问题 |
| PHP 版本 | 宝塔 软件商店 -> PHP 或主机控制面板 | 很多致命错误和扩展缺失都和 PHP 有关 |
| Web 服务器 | 宝塔网站设置或服务器环境 | Nginx、Apache、OpenLiteSpeed 的伪静态规则不同 |
| 已启用插件 | WordPress 后台 插件 | 插件冲突是白屏、按钮失效、Ajax 异常的高频原因 |
| 具体报错原文 | 页面、邮件、日志、浏览器控制台 | 搜索和定位必须依赖原文 |
| 操作步骤 | 比如“点击登录后转圈”“保存设置后弹 undefined” | 判断是前端、后端还是接口请求问题 |
| 最近改动 | 更新主题、安装插件、改 PHP、开缓存、接 CDN | 最近改动通常就是最短排查路径 |
建议你把问题记录成这个格式:
问题现象:
出现页面:
触发步骤:
主题版本:
WordPress 版本:
PHP 版本:
服务器环境:
最近改动:
浏览器控制台报错:
PHP 错误日志:
已尝试的排查:如果你要去子比官网、论坛或群里提问,直接按这个模板发,别人更容易帮你定位。官方论坛里也有“提问前的准备工作”这类帖子,核心思路就是:先把环境、现象、日志和复现步骤说清楚。
去哪里找答案
优先按这个顺序找:
- 在本套文档搜索函数、Hook、配置项或开发教程。
- 在子比主题官网搜索报错原文或功能名。
- 在子比主题论坛搜索同类问题。
- 用搜索引擎搜索
报错原文 + zibll、功能名 + 子比主题、支付渠道名 + 子比主题。 - 如果是 WordPress 基础问题,再搜索
WordPress + 报错原文。
搜索关键词不要只搜“报错”“打不开”,要搜具体信息。例如:
| 问题 | 推荐关键词 |
|---|---|
| 页面 404 | 子比主题 伪静态 404、WordPress 固定链接 404 |
| 邮件发不出 | Zibll SMTP 邮件配置、WordPress SMTP 发送失败 |
| 支付不回调 | 子比主题 支付回调、微信支付 签名错误、支付宝 当面付 子比主题 |
| 登录验证码失败 | 子比主题 腾讯验证码、子比主题 登录 注册 验证码 |
| 更新失败 | 子比主题 在线更新 常见问题 |
| 缺少扩展 | PHP mbstring 子比主题、宝塔 PHP 安装扩展 |
| 按钮没反应 | 子比主题 按钮没反应 控制台报错、admin-ajax.php 403 |
| 保存设置 undefined | 子比主题 保存设置 undefined、Codestar 保存失败 max_input_vars |
这次整理 FAQ 时参考到的官网公开资料包括:
- 在线更新教程、升级教程、常见问题解答
- WordPress网站伪静态及固定链接设置教程-解决404错误问题
- Zibll子比主题SMTP邮件配置教程-解决邮件发送问题
- 登录/注册/找回密码/手机验证/绑定邮箱/人机验证等用户功能配置教程
- 使用腾讯验证码的人机验证方案为网站保驾护航
- 宝塔搭建WordPress完整且最简单的详细图文教程
- php安装扩展教程-解决网站提醒缺少mbstring组件的错误
- 常见CDN缓存加速配置教程
- Zibll子比主题-主题常用功能设置
- 丝丝顺滑的图片浏览体验-图片灯箱功能详解
快速判断是哪一层的问题
| 现象 | 优先检查 |
|---|---|
| 全站白屏、500、致命错误 | PHP 错误日志、最近安装的插件、最近改过的代码、PHP 版本和扩展 |
| 只有某些页面 404 | 固定链接、伪静态规则、页面别名、缓存和 CDN |
| 后台能进,前台打不开 | 主题模板、缓存插件、PHP 错误日志、最近更新 |
| 后台保存设置失败 | admin-ajax.php 请求、WAF、安全插件、max_input_vars、PHP 日志 |
| 登录、注册、验证码异常 | 邮件/短信配置、人机验证密钥、缓存排除、接口是否被拦截 |
| 支付成功但订单未变更 | 支付回调地址、HTTPS、证书、签名、服务器防火墙、回调日志 |
| 邮件发不出去 | SMTP 配置、端口、发信人、授权码、SPF/DKIM、主机是否禁用邮件 |
| 图片不显示 | 文件权限、媒体库路径、HTTPS 混合内容、CDN 防盗链、懒加载 |
| 手机端异常但电脑正常 | 缓存规则、JS 合并压缩、支付方式限制、浏览器控制台远程调试 |
| 只有登录用户异常 | 页面缓存、对象缓存、用户中心相关接口、会员/支付插件 |
如何看错误日志
开启 WordPress 调试日志
打开网站根目录的 wp-config.php,找到 /* That's all, stop editing! */ 之前的位置,加入或调整:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);然后复现一次问题,再查看:
wp-content/debug.log如果日志文件不存在,可能是目录权限不足,也可能是错误发生在更底层的 PHP 或 Web 服务层。
排查结束后,建议把显示错误关掉,避免把路径、密钥、数据库信息暴露在前台:
define('WP_DEBUG_DISPLAY', false);查看宝塔日志
宝塔面板常见位置:
- 进入
网站。 - 找到对应站点。
- 打开
日志。 - 先看
错误日志,再看访问日志。
常见关键词:
| 日志关键词 | 大概含义 |
|---|---|
PHP Fatal error | PHP 致命错误,通常会导致白屏或 500 |
Uncaught Error | 未捕获异常,查看后面的文件路径和行号 |
Call to undefined function | 调用了不存在的函数,可能是加载顺序、插件禁用或版本不匹配 |
Class not found | 类没有加载,可能是插件缺文件或加载时机错误 |
Allowed memory size exhausted | PHP 内存不够 |
Maximum execution time exceeded | 脚本运行超时 |
Permission denied | 文件权限不足 |
No such file or directory | 文件缺失或路径写错 |
mbstring | PHP 缺少 mbstring 扩展 |
看日志时不要只复制第一行,至少要复制包含文件路径、行号和调用栈的几行。比如:
PHP Fatal error: Uncaught Error: Call to undefined function xxx()
in /www/wwwroot/example.com/wp-content/plugins/demo/includes/functions.php:32这条日志已经说明:问题在 demo 插件的 includes/functions.php 第 32 行,不应该先去重装主题。
全站白屏、500、致命错误怎么办
这是最常见也最吓人的问题,但排查顺序很固定。
第一步:回忆最近改了什么
优先检查最近 10 分钟到 24 小时内做过的事情:
- 更新了子比主题。
- 更新了 WordPress。
- 切换了 PHP 版本。
- 安装或启用了新插件。
- 开了缓存、CDN、JS 合并压缩。
- 改了子主题
functions.php。 - 改了插件代码。
- 手动覆盖了主题文件。
最近改动越明确,越不要大范围乱改。先撤回最近改动,再看问题是否消失。
第二步:禁用可疑插件
如果后台还能进:
- 进入
插件。 - 先停用最近安装或更新的插件。
- 如果不确定,临时停用除必要插件外的所有插件。
- 刷新前台测试。
- 一个一个启用,找到触发问题的插件。
如果后台进不去,可以用文件管理器或 SSH 临时改目录名:
wp-content/plugins/plugin-name
wp-content/plugins/plugin-name-disabled如果你不知道是哪一个插件导致,可以临时把整个插件目录改名:
wp-content/plugins
wp-content/plugins-disabled网站恢复后再改回来,并逐个插件排查。
第三步:检查子主题和自写代码
如果你使用子主题,优先检查:
- 子主题
functions.php最近是否新增代码。 - 是否少了分号、括号、引号。
- 是否把代码放到了不合适的加载时机。
- 是否调用了当前页面还没加载的子比主题函数。
- 是否直接复制了网上代码但没有替换函数名。
可以临时切回父主题或把子主题新增代码注释掉。如果切回父主题就恢复,说明问题大概率在子主题代码或模板覆盖。
第四步:检查 PHP 版本和扩展
如果错误里出现 mbstring、curl、fileinfo、gd、openssl、zip、mysqli,通常是 PHP 扩展缺失。宝塔里一般这样处理:
- 进入
软件商店。 - 找到当前站点使用的 PHP 版本。
- 打开
安装扩展。 - 安装缺少的扩展。
- 重启 PHP。
- 回到网站复测。
子比官网有专门的 mbstring 扩展教程。除了 mbstring,WordPress 站点常用扩展还包括 curl、fileinfo、gd 或 imagick、openssl、zip、mysqli、opcache。
页面 404、用户中心 404、资源页 404
404 通常不是主题文件丢了,而是固定链接或伪静态规则没有正确处理。
先保存固定链接
进入 WordPress 后台:
- 打开
设置 -> 固定链接。 - 选择你需要的链接结构。
- 不改也可以,直接点击
保存更改。 - 重新打开 404 的页面。
这一步会刷新 WordPress 的 rewrite 规则,很多页面 404 都能直接恢复。
再检查服务器伪静态
如果你用宝塔和 Nginx:
- 进入
网站。 - 找到站点。
- 打开
伪静态。 - 选择
WordPress。 - 保存。
典型 Nginx 规则类似:
location / {
try_files $uri $uri/ /index.php?$args;
}如果你用 Apache,确认根目录 .htaccess 有 WordPress 规则:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress子比官网也有专门的 伪静态及固定链接教程。
只有某个功能页 404
如果只有用户中心、资源下载页、支付页、第三方登录回调 404,继续检查:
- 页面是否被手动删除。
- 页面别名是否和其它页面、分类、文章冲突。
- 是否改过固定链接结构。
- 是否开启了缓存或 CDN 的“缓存 404”。
- 是否有安全插件拦截特殊路径。
- 是否使用了反向代理但没有正确转发路径。
后台保存设置失败、弹 undefined
后台保存主题设置、CSF 设置或插件设置时,如果弹出 undefined、一直转圈、保存失败,通常是 Ajax 请求没有正常返回。
排查顺序:
- 按
F12打开浏览器开发者工具。 - 切到
Network。 - 重新点击保存。
- 找到
admin-ajax.php或保存接口请求。 - 看状态码是
200、403、404、500还是超时。
常见原因:
| 状态 | 常见原因 |
|---|---|
403 | WAF、安全插件、服务器防火墙拦截 |
404 | 后台地址、伪静态、站点路径或反向代理异常 |
500 | PHP 报错,查看 PHP 错误日志 |
| 超时 | PHP 执行时间不够、服务器负载高、保存项太多 |
| 返回 HTML | 登录过期、权限不足、被安全验证页拦截 |
如果设置项非常多,可以检查 PHP 参数:
| 参数 | 建议方向 |
|---|---|
max_input_vars | 太低会导致表单字段保存不完整 |
post_max_size | 太低会导致提交数据被截断 |
max_execution_time | 太低可能保存超时 |
memory_limit | 太低可能后台保存时 500 |
宝塔里可以在当前 PHP 版本的 配置修改 里调整这些值。调整后记得重启 PHP。
按钮没反应、弹窗打不开、Ajax 请求失败
这类问题多半是前端 JS、缓存合并、接口被拦截或登录状态缓存导致的。
先做最小化测试:
- 换无痕窗口测试。
- 临时关闭缓存插件。
- 临时关闭 CDN 的 HTML 缓存、JS 压缩、JS 延迟加载。
- 临时关闭安全插件。
- 保留子比主题,停用非必要插件。
- 打开浏览器控制台看红色报错。
常见控制台信息:
| 报错 | 排查方向 |
|---|---|
jQuery is not defined | JS 加载顺序被优化插件打乱 |
Uncaught TypeError | 某个脚本报错导致后续脚本中断 |
admin-ajax.php 403 | 安全拦截、WAF、权限或 nonce 问题 |
Mixed Content | HTTPS 页面加载了 HTTP 资源 |
CORS | 跨域、CDN 域名、静态资源域名配置问题 |
Unexpected token < | 接口本应返回 JSON,却返回了 HTML 错误页 |
如果关闭 JS 合并压缩后恢复,就不要急着重新开启所有优化。先把主题脚本、jquery、admin-ajax.php 相关请求加入排除,再逐项打开。
邮件发不出去、验证码收不到
WordPress 默认的 mail() 发送方式在很多服务器上并不可靠,主机商也可能禁用本地发信。子比官网有 SMTP 邮件配置教程,优先按 SMTP 配置。
检查顺序:
- 确认邮箱服务商支持 SMTP。
- 使用授权码,不要直接使用邮箱登录密码。
- SMTP 服务器、端口、加密方式要匹配。
- 发件邮箱和 SMTP 账号尽量一致。
- 域名邮箱要配置 SPF、DKIM、DMARC。
- 发送测试邮件。
- 检查垃圾箱。
- 检查服务器是否禁止外连 SMTP 端口。
常用端口方向:
| 端口 | 常见用途 |
|---|---|
465 | SSL |
587 | TLS |
25 | 传统 SMTP,很多服务器会限制 |
如果注册验证码收不到,不要只查注册设置,还要查邮件是否能发出去。先用后台测试邮件确认 SMTP 正常,再测试注册验证码。
登录、注册、找回密码、人机验证异常
子比主题用户系统功能比较多,包含登录、注册、找回密码、绑定邮箱/手机、人机验证等。官方有 用户功能配置教程 和 腾讯验证码教程。
常见问题:
登录注册按钮点了没反应
优先检查:
- 浏览器控制台是否有 JS 报错。
- 缓存插件是否合并、延迟或压缩了主题脚本。
- CDN 是否缓存了登录弹窗相关页面。
admin-ajax.php是否被拦截。- 是否禁用了 WordPress REST API 或 Ajax。
验证码明明正确却提示错误
优先检查:
- 网站时间是否准确。
- 缓存是否缓存了验证码接口结果。
- CDN 是否缓存了接口。
- 人机验证密钥是否填错。
- 当前域名是否在验证码后台白名单。
- HTTP/HTTPS 是否和配置一致。
- 手机端和电脑端是否使用了不同域名。
开了验证码后管理员也登录不上
可以先通过文件管理器或数据库临时关闭相关配置,或临时停用引入验证码的插件/代码。恢复后台后再重新配置。不要在没有备用入口的情况下,同时开启多种强验证、强缓存和安全拦截。
支付配置、支付成功不回调、签名错误
支付问题要分成三类:下单失败、付款失败、付款成功但订单状态不更新。
下单失败
检查:
- 商品、资源、会员价格是否配置正确。
- 用户是否登录。
- 支付方式是否启用。
- 支付插件或主题支付模块是否报错。
- 浏览器 Network 里下单接口是否返回错误。
付款失败
检查:
- 支付渠道参数是否填错。
- 商户号、AppID、密钥、证书是否对应同一个账户。
- 是否把沙箱参数填到了正式环境。
- HTTPS 证书是否有效。
- 手机端和电脑端是否选择了正确支付方式。
- 支付渠道是否支持当前场景。
支付成功但订单不更新
这是回调问题。重点检查:
- 支付平台回调地址是否能公网访问。
- 网站是否强制 HTTPS,回调地址是否也是 HTTPS。
- 服务器防火墙、宝塔防火墙、WAF 是否拦截回调。
- CDN 是否缓存或拦截回调路径。
- 回调接口是否返回 403、404、500。
- 服务器时间是否准确。
- 签名密钥、证书、商户号是否匹配。
如果看到 签名错误,优先检查密钥、证书、参数复制是否带空格、支付平台环境是否一致。支付问题不要只看前台弹窗,必须同时看支付平台回调记录、网站访问日志和 PHP 错误日志。
图片不显示、上传失败、灯箱异常
图片问题一般分为上传、存储、访问、前端展示四层。
上传失败
检查:
wp-content/uploads是否可写。- PHP
upload_max_filesize是否太小。 - PHP
post_max_size是否太小。 - PHP 是否缺少
fileinfo、gd或imagick。 - 服务器磁盘是否满了。
- 文件名是否包含特殊字符。
图片地址 404 或 403
检查:
- 文件是否真实存在。
- 文件权限是否正确。
- CDN 是否回源失败。
- 防盗链是否误拦截本站。
- 图片域名是否和当前站点 HTTPS 配置一致。
HTTPS 页面提示 Mixed Content
说明页面是 HTTPS,但图片或脚本还是 HTTP。处理方式:
- WordPress
设置 -> 常规里站点地址改为 HTTPS。 - 数据库旧链接批量替换为 HTTPS。
- CDN 源站和回源协议统一。
- 清理浏览器、插件、CDN 缓存。
图片灯箱或懒加载异常
子比官网有 图片灯箱功能说明。如果灯箱不工作,通常和 JS 优化、懒加载插件、图片结构被编辑器改写有关。先关闭图片懒加载、JS 合并压缩和第三方相册插件测试。
缓存、CDN、加速导致的异常
缓存可以提升速度,也很容易把动态页面缓存坏。子比官网有 CDN 缓存配置教程,重点是:不要把登录态、支付、用户中心、Ajax 动作当普通静态页面缓存。
这些路径和请求通常不建议做 HTML 缓存:
/wp-admin/
/wp-login.php
/wp-json/
/xmlrpc.php
/wp-admin/admin-ajax.php
/user
/author
/pay
/order
/checkout
/cart
/download实际路径要以你站点的子比主题功能页为准。
这些 Cookie 出现时,通常不应该命中游客缓存:
wordpress_logged_in_
wordpress_sec_
wp-settings-
comment_author_排查缓存问题的顺序:
- 清浏览器缓存。
- 清 WordPress 缓存插件。
- 清对象缓存,例如 Redis。
- 清服务器缓存,例如 Nginx fastcgi_cache。
- 清 CDN 缓存。
- 暂停 CDN 或切回源站测试。
如果源站正常、开 CDN 异常,问题就在 CDN 规则、缓存规则、回源协议、HTTPS、WAF 或资源域名上。
更新主题后异常
更新前先备份。至少备份:
- 数据库。
wp-content/themes/zibll。- 站点自定义代码目录。
- 上传目录
wp-content/uploads。
子比官网有 在线更新和升级常见问题。更新异常时按这个顺序查:
- 确认授权和域名状态正常。
- 确认服务器能访问更新源。
- 确认主题目录可写。
- 确认 PHP 没有超时或内存不足。
- 更新后清理所有缓存。
- 如果前台 500,先看 PHP 错误日志。
- 如果样式错乱,先清浏览器/CDN/插件缓存。
- 如果自定义功能丢失,检查是否曾经直接改过父主题核心文件。
不要把自定义代码写进 wp-content/themes/zibll 的核心文件。更新主题时这些文件可能被覆盖。站点自定义代码要放在可独立维护、可备份、可回滚的位置,并记录改动清单。
宝塔环境常见问题
子比官网有 宝塔搭建 WordPress 教程。宝塔用户遇到问题时重点看这些地方:
| 位置 | 检查项 |
|---|---|
| 网站设置 | 根目录、运行目录、PHP 版本、SSL、伪静态 |
| PHP 设置 | 扩展、禁用函数、配置限制、错误日志 |
| SSL | 证书是否过期、是否强制 HTTPS、是否有混合内容 |
| 防火墙 | 是否拦截 Ajax、支付回调、验证码接口 |
| 文件权限 | 主题、插件、上传目录是否可读写 |
| 计划任务 | 定时任务是否正常执行 |
| 数据库 | 数据库连接、慢查询、容量 |
常见处理:
- 缺少扩展:到对应 PHP 版本的
安装扩展里安装。 - 伪静态错误:网站设置里选择 WordPress 规则。
- 保存失败:临时关闭防火墙或添加白名单测试。
- 上传失败:检查 PHP 上传限制和目录权限。
- 更新失败:检查目录权限、网络连通和 PHP 超时。
授权、域名和更新源问题
授权相关问题不要只看后台提示,要确认:
- 当前访问域名是否和授权域名一致。
- 是否从
www切换到了非www。 - 是否从临时域名切到了正式域名。
- 是否从 HTTP 切到了 HTTPS。
- 是否用了反向代理导致 WordPress 识别到的域名不一致。
- 是否使用了多站点或二级域名。
如果显示授权成功但功能仍异常:
- 退出后台重新登录。
- 清理浏览器缓存和站点缓存。
- 确认主题版本是否最新。
- 确认服务器能访问授权/更新接口。
- 查看子比官网账号里的授权记录。
插件冲突怎么排查
插件冲突不是一句空话,而是可以用二分法快速定位。
推荐流程:
- 备份网站。
- 记录当前启用插件列表。
- 停用所有非必要插件。
- 保留子比主题测试问题是否还存在。
- 如果问题消失,把插件一半一半启用。
- 哪一半启用后问题出现,就继续拆分那一半。
- 找到具体插件后,再判断是设置冲突、缓存冲突、脚本冲突还是 PHP 报错。
高频冲突类型:
- 缓存插件缓存了登录态或支付页。
- 安全插件拦截
admin-ajax.php。 - JS 优化插件打乱脚本顺序。
- 会员、支付、登录类插件和主题同类功能重复。
- 编辑器插件改写了短代码或文章内容结构。
- SEO 插件改写固定链接、canonical 或 schema。
自定义代码出错
如果站点里有自定义代码,出错时先不要只看主题设置,先按下面几项查。
常见 PHP 写法错误
- 少了分号。
- 少了右括号。
- 字符串引号没有闭合。
- 函数名重复。
- 直接访问了未定义变量。
- 在函数外写了只能放在函数里的代码。
- 文件编码不是 UTF-8。
加载时机错误
如果自定义代码太早调用子比主题函数,可能出现:
Call to undefined function zib_xxx()可以把初始化挂到主题加载后的 Hook,例如:
add_action('zib_require_end', 'zib_site_custom_init');模板覆盖错误
模板覆盖后页面异常,优先确认:
- 模板文件路径是否和父主题一致。
- 复制模板后是否漏了父主题更新的新代码。
- 是否误删了必要 Hook。
- 是否直接输出了未转义的用户输入。
- 是否因为 PHP 版本导致语法不兼容。
新手建议:第一次改模板时只改一小段,保存、刷新、确认没问题,再继续改下一段。
数据库连接、站点迁移、域名更换问题
完整迁移流程、序列化替换、附件 URL、回调域名和验收清单见 站点迁移与换域名。
迁移或换域名后常见问题:
- 数据库连接错误。
- 图片还是旧域名。
- 登录后跳回旧域名。
- 样式丢失。
- 支付回调仍指向旧域名。
- 授权域名不一致。
排查:
- 检查
wp-config.php数据库名、用户名、密码、主机。 - WordPress
设置 -> 常规检查站点地址。 - 数据库中批量替换旧域名为新域名。
- 重新保存固定链接。
- 重新签发 SSL 证书。
- 清理所有缓存。
- 检查支付平台、短信平台、验证码平台、第三方登录平台的回调域名。
数据库替换建议使用可靠插件或 WP-CLI,不要直接用普通文本替换 SQL 文件,因为 WordPress 序列化数据可能被破坏。
权限问题
权限错误常见表现:
- 上传图片失败。
- 更新主题失败。
- 安装插件失败。
- 缓存文件写不进去。
- 日志无法生成。
常见目录:
wp-content/
wp-content/uploads/
wp-content/themes/
wp-content/plugins/
wp-content/cache/原则:
- 目录需要可进入和可写。
- 文件需要可读。
- 不要为了省事把所有文件长期设成最高权限。
- 宝塔环境优先使用面板的“权限修复”或按站点用户设置。
如果日志里出现 Permission denied,先看具体路径。路径指向哪个插件、主题或缓存目录,就从哪个目录权限查起。
性能慢、后台卡、页面打开慢
先判断慢在哪里:
| 慢的位置 | 排查方向 |
|---|---|
| 首字节慢 | PHP、数据库、对象缓存、服务器负载 |
| 静态资源慢 | CDN、图片大小、JS/CSS 合并 |
| 后台慢 | 插件数量、接口请求、数据库、外部 API |
| 登录用户慢 | 动态页面没有缓存、会员/通知/订单查询 |
| 偶发慢 | 服务器资源、计划任务、爬虫、攻击 |
建议:
- 开启 PHP OPcache。
- 图片压缩并使用合适尺寸。
- CDN 只缓存静态资源和游客 HTML。
- 不要缓存登录用户页面。
- 慎用过多统计、客服、广告脚本。
- 检查数据库慢查询。
- 检查是否有插件频繁请求外部接口。
什么时候应该恢复备份
如果满足下面情况,可以考虑恢复备份,而不是继续在坏站上试:
- 误删大量主题、插件或上传文件。
- 数据库被错误批量替换。
- 更新失败导致核心文件混乱。
- 网站被入侵并且无法确认改动范围。
- 生产站长时间不可用,排查成本超过恢复成本。
恢复前先备份当前坏站一份。坏站里的日志、文件差异和数据库状态可能还有排查价值。
提问模板
如果你已经按上面步骤排查,但还是没有解决,可以按这个模板去官网、论坛或技术群提问:
标题:
一句话说明问题,例如:更新子比主题后前台 500,后台正常
环境:
子比主题版本:
WordPress 版本:
PHP 版本:
Web 服务器:
是否使用宝塔:
是否使用 CDN:
是否开启缓存插件:
问题现象:
具体哪个页面出问题:
点击什么按钮或执行什么操作后出现:
是否所有用户都会出现:
电脑端/手机端是否一致:
最近改动:
更新了什么:
安装了什么插件:
改过哪些代码:
日志:
PHP 错误日志:
WordPress debug.log:
浏览器控制台报错:
Network 请求状态码:
已尝试:
是否停用插件测试:
是否切回父主题测试:
是否保存固定链接:
是否清理缓存:清楚的问题描述能节省大量时间。只发“救命,网站报错了”通常没人能准确判断;发出环境、日志、复现步骤,别人才能知道该从哪一层帮你看。