WordPress

如何修复WordPress白屏卡死

如果你已经使用WordPress很多年,那么你至少遇到过一次白屏。WordPress白屏卡死是一个非常烦人的问题,跟数据库连接错误一样。这个问题在大多数情况下没有错误输出,所以无法弄清楚原因。白屏卡死有时只会影响网站的某个部分,例如WordPress管理员账户,而其他一切正常;或者只在特定文章页上出现,而其他一切运行正常。下面将通过介绍如何修复WordPress的白屏卡死。

注意:在对站点进行更改之前,请先备份数据。

为什么会出现这个错误?

通畅情况,当你看到一个白色的卡死屏幕,这意味着你已经耗尽了内存限制。这可能是由正在使用的插件无法正常运行引起的;也可能是由正在使用的编码不良的主题引起的;也可能是网络托管服务器存在问题。由于问题由许多因素引起,因此需要进行大量的故障排除。

问题是否发生在您的其他网站上?

如果有多个站点,首先需要确认白屏卡死是否发生在所有网站还是单个网站。如果问题出现在所有网站上,那么表明服务器遇到了一些问题。如果问题仅出现在单个网站上,可能是正在运行的插件或主题的问题。如果问题只发生在某一篇文章或页面上,那么这绝对是特定网站的问题。

增加内存限制

通常这个问题发生是因为内存已经耗尽,增加PHP内存即可。

禁用所有插件

如果增加内存限制没有解决,则需要开始故障排除。根据经验,此类问题是使用特定插件或主题造成的,禁用所有插件。如果问题得到解决,然后一次启用一个插件就可以找到问题插件的根源。

用默认主题替换主题

如果插件故障排除无法解决问题,应该尝试使用默认的主题替换当前主题。备份主题文件夹,然后删除主题,WordPress将自动回退到默认主题。或者可以进入phpMyAdmin并更新wp_options表中的数据库表。必须更新以下表名:

template, stylesheet, 和 current_theme。将值更改为Twentyeleven。

如果问题解决,那么应该查看主题的functions.php文件。如果底部有多余的空格,应该清理掉。如果在主题的functions.php文件中使用编码不良的函数,也会导致这种情况。

其他修复

如果以上都没有解决,应该尝试重新安装WordPress,可能是核心文件已经损坏。还可以使用WordPress调试功能来查看输出的错误类型。在wp-config.php文件中添加以下代码:

  1. error_reporting(E_ALL); ini_set('display_errors', 1);
  2. define( 'WP_DEBUG', true);

添加此内容后,空白屏幕将显示错误,警告和通知。这些可能可以帮助您确定根本原因。

有时可能有权访问后端,但网站的前端有白屏卡死。这可能是因为缓存插件而发生的。只需清空缓存即可。如果只在很长的文章页面上有白屏卡死,还应该尝试清除缓存。我们发现的另一个技巧是增加递归和回溯限制。可以将以下代码粘贴到wp-config.php文件中。或者在某些服务器中,需要修改PHP.INI文件。

  1. /** Trick for long posts */
  2. ini_set('pcre.recursion_limit',20000000);
  3. ini_set('pcre.backtrack_limit',10000000);

分享区域