问题描述
像标题中提到的,我认为这是迄今为止 Automattic 或 Wordpress 团队无法解决的一个问题,无论将来 Wordpress 将会发布什么版本。在这个问题上,我正在关注死亡的白色屏幕,每当我想激活某些插件,我都会得到。我正在开发一个网站,要求我使用 30 个插件。是的,有人会说这是一个网站太多的插件,难怪我会得到白色的屏幕。不过嘿,这是 Wordpress,是让 Wordpress 成为最受欢迎的博客平台的原因之一是因为可以让您在更短的时间内实现您的目标。对于那些谁在 php + wp 开发专家,你们可以说黑客 wp 比使用大量的插件,就像我在做,但嘿,大多数 wp 用户不是 php guru 。大多数是像我这样的普通用户,甚至只是知道如何安装和使用他们可用的。
到目前为止,这里是我们在得到白色屏幕死亡 (WSOD) 时所做的常见步骤。
-
重命名 wp-content /plugins 文件夹名称,如 wp-content /plugins-temp,这将停用所有插件
-
像我一样,我喜欢将个人插件文件夹名称重命名为 wp-content /plugins /akismet 到 wp-content /plugins /akismet-temp
-
之后,重新启动所有的插件一个接一个,所以我们可以知道哪个插件是罪魁祸首
-
检查插件文件末尾是否有空的空格,尤其是在 php 结束标签之后?> 确保标签后没有额外的空间。确保检查主题 functions.php 文件 (如果有) 或插件文件。
-
增加 wordpress 的内存分配
通常,您的网站将恢复正常。但是这还是不能解决这个问题。
对我来说,这对我来说非常讨厌,特别是第 3 步。我们怎么知道哪个插件是罪魁祸首?首先,我认为第 3 步真的是一个事实,但现在我觉得它的谎言。为什么?
像现在一样,突然之后,我激活了 25 个插件,我不能重新启动的插件之一是 Akismet 。什么? Akismet 在?是的,这个插件由 WP 团队自己开发。我知道上面的步骤 3 是一个谎言,因为如果我先激活 Akismet,Akismet 被激活成功。完全没问题。
所以现在的问题是插件之间的插件兼容性。我如何作为普通用户可以识别哪个插件是不友好的什么插件??? 如果我使用 30 个插件,一个插件的几个概率与每个插件不兼容?我该怎么知道应该先启动哪个插件,以免 WSOD 出现?
如果有错误,那么也许我可以有一个线索,但它是一个纯白色的屏幕。我无能为力 wordpress 中的这种插件真的是一个未解决的问题,这使我真的很压力。
任何人知道如何解决这个问题?至少知道如何通过 mysql 激活插件?
最佳解决方案
要让 WordPress 显示错误,请编辑 wp-config.php
文件
define( 'WP_DEBUG', true );
默认情况下,此选项设置为 false
,并应位于文件的底部。这将允许您查看正在生成哪些错误。
另外,文件末尾的空格几乎不会导致 WSOD; 这就是导致 Feed 中 「标题已发送」 错误的原因。
鉴于您的描述,我只能想到为什么 Akismet 引起错误的两种可能性:
-
你超过了内存限制
-
另一个插件可能正在使用 Akismet 使用的功能,导致 「无法重新声明 user-defined 功能」 错误
尝试打开 WP_DEBUG
,如果您有任何问题,请返回。
次佳解决方案
我有几次白屏死亡。如果您尝试禁用您的插件,并且不起作用,请转到您的主题。测试与二十十主题。如果问题消失了,那么你的主题是错误的。
在您的主题中寻找问题:
未转义的字符可能会导致问题。更改 @
@
在空白空间的 function.php 结尾会引起问题。
没有发现从 WP.org 下载最新版本,并覆盖除了 wp-content 文件夹之外的所有文件夹。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。