网站报错是每个站长的必修课。我刚做独立站那会儿,一看到 500 错误就直接找程序员,每次 300-500 块,后来发现大部分报错自己花 5 分钟就能搞定。
这篇文章整理最常见的 5 个报错,每个都给你排查步骤——按顺序操作,80% 的问题能自己解决。
一、500 Internal Server Error
症状: 网站白屏或显示”500 Internal Server Error”,后台也进不去。
原因排序(从最常见到最少见)
| 原因 | 发生概率 | 难度 |
|---|---|---|
| .htaccess 文件损坏 | 40% | 低 |
| 插件冲突 | 30% | 低 |
| PHP 内存不足 | 15% | 中 |
| 主题代码错误 | 10% | 中 |
| 服务器配置问题 | 5% | 高 |
排查步骤 1-2-3
第1步:重置 .htaccess(先做这个,最快)
用 FTP 或服务器文件管理器,找到网站根目录的 .htaccess 文件,重命名为 .htaccess_old。然后进入 WordPress 后台 → 设置 → 固定链接 → 点击”保存更改”(不做任何修改直接点保存),WordPress 会生成新的 .htaccess 文件。
如果进不了后台,手动创建一个新的 .htaccess,内容如下:
# BEGIN WordPress
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]
# END WordPress
第2步:禁用所有插件
进不了后台?FTP 进入 /wp-content/,把 plugins 文件夹重命名为 plugins_deactivated,强制禁用所有插件。如果能访问网站了,逐个启用插件找出元凶。
第3步:增加 PHP 内存限制
编辑 wp-config.php,在 /* That's all, stop editing! */ 之前加一行:
define('WP_MEMORY_LIMIT', '256M');
如果还不行,联系主机商把 PHP memory_limit 调到 256M 或更高。
二、白屏/死亡白屏(White Screen of Death)
症状: 访问网站完全空白,连错误信息都没有。
排查步骤 1-2-3
第1步:开启调试模式
编辑 wp-config.php,找到 define('WP_DEBUG', false);,改成:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
然后刷新页面,查看 /wp-content/debug.log 文件,错误会写在这里。99% 的情况 log 文件会直接告诉你哪个插件/主题的哪一行代码出了问题。
第2步:切换默认主题
如果 log 指向主题,FTP 进入 /wp-content/themes/,把你当前主题的文件夹重命名。WordPress 会自动回退到默认主题(Twenty Twenty-X)。
第3步:检查 PHP 版本兼容性
有些老插件不兼容 PHP 8.0+。在主机面板查看 PHP 版本,如果不是兼容性问题,尝试切换到 PHP 7.4 看看是否恢复。
三、数据库连接失败(Error Establishing a Database Connection)
症状: “建立数据库连接时出错”。
排查步骤 1-2-3
第1步:检查 wp-config.php 数据库信息
打开 wp-config.php,确认以下三行信息与你的主机数据库信息一致:
define('DB_NAME', '你的数据库名');
define('DB_USER', '你的数据库用户名');
define('DB_PASSWORD', '你的数据库密码');
define('DB_HOST', 'localhost'); // 通常是 localhost,部分主机不同
用主机面板(cPanel/宝塔)确认数据库用户名和密码是否正确。
第2步:检查数据库服务器状态
登录主机面板的 phpMyAdmin,尝试用同样的用户名密码登录。如果登不进去,重置数据库用户密码并在 wp-config.php 中更新。
第3步:修复数据库表
如果数据库能登录但网站还是报错,在 wp-config.php 加一行:
define('WP_ALLOW_REPAIR', true);
然后访问 http://你的域名/wp-admin/maint/repair.php,选择”修复数据库”。修完后记得删掉上面那行代码。
四、图片不显示(破损图标/空白)
症状: 网站图片显示破图图标或者完全空白。
排查步骤 1-2-3
第1步:检查文件路径
浏览器右键破图 → 检查元素 → 看图片 src 属性指向的 URL。直接复制这个 URL 在新标签页打开。
- 如果 404 → 路径错误或图片真的不存在
- 如果 403 → 权限问题
- 如果正常显示 → 浏览器缓存问题(换浏览器试试)
第2步:修复文件权限
FTP 右键 /wp-content/uploads/ 文件夹,设置权限:
– 文件夹:755
– 文件:644
宝塔面板可以直接在文件管理器右键设置。
第3步:重新生成缩略图
WordPress 换了主题后图片尺寸可能不匹配。安装 Regenerate Thumbnails 插件,运行一次批量重新生成。
如果是 CDN 导致的图片不显示,先去 CDN 面板清除缓存。
五、邮件发送失败
症状: 网站联系表单提交成功但你收不到邮件,或者用户收不到注册确认邮件。
排查步骤 1-2-3
第1步:确认是不是真的没发出去
安装 WP Mail Logging 插件,它会记录所有发送的邮件。先看邮件到底是被服务器发送了还是根本没触发。如果 log 里有记录但你没收到 → 邮件进了垃圾箱或被邮箱服务商拒收。
第2步:配置 SMTP(这是根本解决方案)
WordPress 默认用 mail() 函数发送邮件,很多主机商屏蔽了这个函数。必须用 SMTP。
安装 Post SMTP 或 WP Mail SMTP 插件,用以下任何一种方式配置:
| 发件方式 | 适合谁 | 每日限额 |
|---|---|---|
| Gmail SMTP | 个人/极低量 | 500封/天 |
| Brevo(免费) | 中小商 | 300封/天 |
| Mailgun | 发件量大 | 按量付费 |
| 企业邮箱 SMTP | 有企业邮箱的 | 视服务商 |
第3步:检查 SPF/DKIM 记录
配置 SMTP 后还是进垃圾箱?去你的 DNS 管理面板,添加 SPF 和 DKIM 记录。大多数 SMTP 服务商会提供推荐的记录值,照着粘贴就行。
防止报错的 3 个好习惯
- 更新前先备份。 用 UpdraftPlus 插件,设置自动每日备份到 Google Drive。
- 在 staging 环境测试。 很多主机提供一键 staging,更新插件/主题前先在 staging 上试。
- 少装插件。 插件不是越多越好,功能相同只留一个,不用的及时删。
需要帮忙?私信我。
遇到报错不会排查?把截图和你的服务器环境(什么主机、PHP版本)发给我,我帮你看。