我运行一个带有约70个活动插件的WordPress站点。

每秒 /wp-admin/ 无处不在的页面。

只需再次尝试解决错误,但是如果错误在插件升级期间发生(因为自动反应失败),则很不方便。我认为同样的问题是我的仪表板上某些模块有时无法加载的原因。

鉴于 我已安装的插件列表, ,有人知道可能引起此问题的任何一个问题吗?

编辑:

托管信息:Dreamhost;我认为服务器正在使用Apache HTTPD运行自定义Debian构建

有帮助吗?

解决方案

我整天都在遇到404个失火的问题。

无论如何,我刚刚与一个Dreamhost技术支持人员聊天,他告诉我,我与他们拥有的用户帐户正在遇到过程内存资源限制(所有过程),这就是导致奇怪的,看似与HTACCESS相关的问题。我从HTACCESS文件中遇到了间歇性的404个错误,该错误根本不应该被调用!这是带有鬼屋服务器的Dreamhost。

显然,Dreamhost使用的过程杀死机器人的过程将在中间杀死一个网络过程,然后出于某种原因,(现在的僵尸)Apache实际上试图完成工作(尽最大努力从无障碍的结局中脱颖而出,从是我最好的猜测)。它向主HTTP日志中丢弃了500个错误,但是在这样做之后,它实际上会解散了重写条件和规则,这些条件和规则永远不会被触发(使用标准文件-F和Directory -D HTACCESS文件) - '写一个新的日志条目!然后,一个新的(无形的人)请求触发HTACCESS文件的最后一行中的索引文件

当心Dreamhost基本帐户中的资源限制!如果您越过他们的极限,并且您拥有Mod_rewrite线条的Htacess,您会看到只适合万圣节之夜的奇怪事物 - 无形的男人,鬼屋404s!亡灵过程!僵尸阿帕奇! htaccess独自移动!是的!

希望这可以帮助您避免几个小时的痛苦。

其他提示

调试此问题的唯一方法是一次禁用一个插件,每次试图在禁用另一个插件之前重现问题。从与WP管理有关的插件开始,然后向下移动到常规主题插件,小部件等。

检查您提供更好的“未找到”页面(使用Opera浏览并打开信息面板,该面板将向您展示标头,或者使用Firefox浏览,并启用“ Net”面板启用Firebug),并通过所有搜索进行搜索您的插件以查看它们是否可以直接服务。如果没有,请查看Web服务器的日志,以找出无法使用的确切资源;插件可能会进行一些精美的重定向或重写,因此不一定是您在浏览器中看到的URL引起了404。

我只能联系自己的经验,到目前为止,我还没有找到“确定的”规则来解决 全部 一次性问题。

Dreamhost设置的主要问题是,在永恒的斗争中,至少要保持记忆消耗,这意味着要摆脱尽可能多的功能 - 即,所有这些功能都会减少带宽(对访客有益!)或CPU(好的!对于服务器,但是DreamHost不会像控制RAM那样积极地控制CPU消耗)。例如,这意味着要摆脱GZIP'ED HTML + CSS(将消耗CPU + RAM)或几个缩小插件中的任何(也将消耗RAM)。缓存越复杂(我喜欢使用W3总缓存,或者至少是WP Super Cache),也将消耗更多的RAM。

同样,许多限制MySQL查询数量以提高性能的插件将消耗RAM。因此,找到权衡取舍,您仍然可以保持网站的性能良好,同时避免消耗宝贵的RAM是一项艰巨的任务!

到目前为止,我在繁忙的网站上的最佳结果是取消选中页面速度优化和额外的Web安全性,这显然会消耗大量RAM,并依靠W3 Gotal Cache和CloudFlare(免费反向代理服务)的组合。 CloudFlare将有效地做与“额外的Web安全”模块相同的事情,但是由于它在Dreamhost之外运行,所以很好。 W3总缓存会消耗大量内存,但是一旦页面在本地存储了,CloudFlare将非常有效地缓存它们 - 因此,在编辑帖子时,您可能会获得404/500即使Dreamhost给出404或500)。

另外,感谢 本文, ,我发现FastCGI使用的RAM比“普通” CGI更多。而且,由于PHP 5.3在管理RAM(更具侵略性的垃圾收集,更少的内存泄漏)方面更好,因此我在没有页面速度优化或额外的Web安全性的情况下,实验性地切换到PHP 5.3 CGI(不是FastCGI),依靠W3总Cache + Cloudflare到加速站点。现在,退缩速度较慢(更多的CPU消耗!),但至少我看不到404/500(到目前为止!)。

我仍然对这种组合不满意,因此我当然会继续调整Dreamhost的设置,希望能够更加降低RAM侵犯,并仍然获得足够的性能。就像@dgw所说的那样,我还使用了很多插件 - 因为我需要它们的功能。并非每个人都在Dreamhost主持WP的人都有简单的博客需求;网站越复杂,它将需要的功能越多...这就是WordPress的美感,您只需要使用真正需要的插件即可,如果您满意的需求满意,请保持核心WP安装。但是,插件不一定是“不好”或站点上的沉重;但是确实有些人可能会消耗大量公羊...

这只是一个粗略的想法:如果您遇到“真实” 404错误(带有标题设置),那么您可以搜索插件并查找该插件 php header() 功能 和404号。这可以从70到一些插件的数量钻取。然后,您只需要检查这些即可。

这可以通过Eclipse PDT等IDE轻松完成,该IDE可以为特定的PHP功能调用提供搜索。

接下来,但不能保证它可以成功地工作,就是编写一个插件,该插件将挂钩到标题设置,然后给您跟踪哪个代码实际上设置了潜在的404(BackTrace)。这只有在插件使用WordPress API函数时才能起作用。无论WP API如何,寻找PHP函数的第一种方法将起作用。

需要更多信息:

1)为什么这么多插件?

2)您的托管提供商正在运行什么操作系统?

3)什么Web服务器?

4)您是否可以访问HTTPD服务器日志,尤其是错误日志?

5)在这些问题周围的时间范围内,错误日志怎么说?

(现在,说实话,如果我们概括为“平均J6P运行WordPress可能有一个确切的问题,我们可以首先指示所述J6P至少回答以上5个问题...)

许可以下: CC-BY-SA归因
scroll top