独立站实战

独立站常见报错与修复:不用每次都花500块找人修

网站报错是每个站长的必修课。我刚做独立站那会儿,一看到 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 个好习惯

  1. 更新前先备份。 用 UpdraftPlus 插件,设置自动每日备份到 Google Drive。
  2. 在 staging 环境测试。 很多主机提供一键 staging,更新插件/主题前先在 staging 上试。
  3. 少装插件。 插件不是越多越好,功能相同只留一个,不用的及时删。

需要帮忙?私信我。

遇到报错不会排查?把截图和你的服务器环境(什么主机、PHP版本)发给我,我帮你看。