WordPress网站为什么会出现白屏?如何修复?
注意:在对网站进行任何更改之前,请确保备份了WordPress网站。
WordPress网站为什么会出现白屏?
大多数情况下,当看到白屏时,表示网站上的脚本耗尽了内存限制。
无响应的脚本要么被WordPress服务器杀死,要么只是超时。这就是为什么没有生成实际的错误消息,并且看到一个纯白色屏幕。
由于网站上安装了编码不良的主题或插件,也可能发生此错误。有时,如果服务器出现问题,可能会发生这种情况。
由于白屏错误可能由任何因素引起,因此需要进行一一排查排除才能修复。
同主机的其他网站是否正常?
如果在同一主机帐户上安装了其他WordPress网站,首先要检查问题是否也在其他网站上发生。
如果是,那么表明WordPress服务器出了问题。这可能是影响其服务的临时问题。另一方面,如果问题仅发生在一个网站或该网站的特定部分,那么就知道问题出在该特定网站上。
使用WordPress恢复模式修复白屏错误
如果白屏是由WordPress插件或主题引起的,那么WordPress就能够捕获它。
WordPress 5.2中引入的新致命错误保护功能可以捕获错误,有事甚至看不到白屏,但是会看到该网站存在技术问题的消息。
还会在管理员电子邮件地址收到一封电子邮件,主题为“您的网站有技术问题”。
此电子邮件将指出导致错误的插件,它还将包含一个特殊链接。此链接将允许您登录到WordPress恢复模式并停用有故障的插件。
但是,如果没有收到电子邮件或恢复模式选项的纯白色屏幕错误,则需要手动修复错误。
增加内存限制
通常,发生此错误是因为脚本已耗尽内存并在中间退出。要解决此问题,需要增加WordPress可用的PHP内存。
通过FTP工具找到并编辑文件,将以下代码粘贴到“That’s all, stop editing! Happy blogging.”前:
- define( 'WP_MEMORY_LIMIT', '256M' );
此代码告诉WordPress将PHP内存限制增加到256MB。完成后,您保存更改并将文件上传回服务器。
禁用所有插件
如果增加内存限制没有解决问题,或者如果你有256M或512M的高内存限制,那么你需要开始故障排除。
根据我们解决此问题的经验,我们始终发现问题是使用特定插件或主题。让我们继续并禁用所有插件。
如果可以访问WordPress管理区域,只需转到 插件 » 已安装的插件 页面即可。选择所有已安装的插件,然后在“批量操作”下拉列表中选择“停用”。
如果无法访问WordPress管理区域,则需要通过FTP 停用所有插件。
首先,使用FTP客户端连接到WordPress站点。连接后,转到wp-content文件夹,找到“plugins”文件夹。
现在,右键单击plugins文件夹,然后选择重命名。可以将插件文件夹重命名为plugins-deactivated。
WordPress会查找名为plugins的文件夹来加载所有插件。当它找不到该文件夹时,它只是停用所有插件。
如果这样可以解决问题,那么一次启用一个插件就可以解决问题的根源。一旦找到导致问题的插件,可以将其替换为替代方案或将问题报告给插件作者。
用默认主题替换主题
如果插件停用所有插件无法解决问题,可以尝试使用默认主题替换当前主题。
首先,使用FTP客户端连接到网站,然后转到/ wp-content / themes /文件夹。右键单击以选择当前的WordPress主题,并将其作为备份下载到计算机。
接下来,您需要从您的网站删除当前主题。右键单击主题文件夹,然后选择“删除”。
如果网站上安装了默认的WordPress主题,如(Twenty Eighteen或Twenty Nineteen),那么WordPress将自动使用它作为默认主题。
但是,如果没有安装默认主题,则需要使用FTP手动安装。
如果这样可以解决问题,应该查看主题的文件。如果文件底部有额外的空格,需要删除它们,有时可以解决问题。
如果在主题的文件中使用编码不良的函数,那么它也会导致白屏错误。考虑从源代码下载主题的新副本,然后安装。
启用调试模式以捕获WordPress中的错误
如果以上方法都没有解决问题,那么下一步是打开WordPress中的调试。这将查看输出的错误类型。
只需将以下代码添加到文件中即可:
- define( 'WP_DEBUG', true);
- define( 'WP_DEBUG_LOG', true );
添加后,空白屏幕将显示错误、警告和通知。这些信息可以找到错误原因。
如果没有看到任何错误,可能仍需要检查调试日志。只需使用FTP客户端访问您网站上的wp-content文件夹即可,找到一个新的文件,其中包含所有错误,通知和警告的日志。
清除WordPress缓存
有时可能有权访问后端,但网站的前端有白屏。这可能是因为缓存插件而发生的。只需清空缓存。
4款最优秀的WordPress缓存插件
修复长文章
如果只是在一个很长的文章或页面上出现白屏,那么这个小技巧可能会奏效。
这个技巧通过增加递归和回溯限制基本上增加了PHP的文本处理能力。可以将以下代码粘贴到文件中。
- ini_set('',20000000);
- ini_set('',10000000);