【问题标题】:What does Wordpress do on just the home page (slow loading)?Wordpress 只在主页上做什么(加载缓慢)?
【发布时间】:2011-04-27 11:44:26
【问题描述】:

我的 wordpress 网站有问题,我真的不知道是什么原因造成的。

站点中的所有页面都加载得非常好,它们充满了内容,但加载时间还可以,内存使用也可以,因为wp-settings.php 中设置的 32M 内存限制没有问题。

问题出在主页上。除非我提高内存限制超过 300M,否则加载(不包括其他内容,仅主要请求)和失败(其中“失败”代表显示的空白页)需要几秒钟。

可能的建议一:查看index.php代码

完成。我将其替换为仅包含单词TEST 的空白页,仍然是加载缓慢和空白页。

可能的建议2:禁用所有插件

完成。禁用了每个插件,但行为仍然相同。

我目前的解决方法

我能找到的唯一能暂时解决问题的方法是将(通过 wordpress 的内部重写)对/ 的任何请求重定向到链接到index.php 的自定义页面。这样我的主页就可以正常、快速地运行,并且在 32M 内存限制下。

现在,这行得通,但它是一个非常肮脏的黑客,所以当我在加载模板之前 询问主页时,我如何才能找出 wordpress 在做什么,因为它与插件?

【问题讨论】:

  • 检查你的错误日志,当一个空白页产生这意味着error_reporting被切换,所以错误只会在日志中,你应该得到一个类似Fatal error: Allowed memory size of XXX bytes ...的错误
  • 是的,但这并不能帮助我理解问题。我已经知道由于可用内存不足而失败:关键是为什么?
  • 重点是检查您的错误日志...它会告诉您应用程序中的哪个点内存耗尽,然后您手动回溯到索引并找出导致它的原因,是的“手动”追溯,没有痛苦……没有游戏。

标签: php wordpress optimization


【解决方案1】:

服务器本身是否在主页上进行任何前/后处理?

打开 PHP 错误可能会像查看 httpd 错误日志一样了解该过程。

出于好奇,您确定您的网站没有被劫持吗?

【讨论】:

  • 没有其他我知道的过程,只是正常的 wordpress 页面生命周期。错误报告仅显示未定义索引的几个通知。我很肯定服务器很干净。
【解决方案2】:

要查看是否有任何结果,请尝试将 WP_DEBUG=true 添加到 wp-config.php 可能会向您显示是否有其他错误更早 但否则肯定是 kachegrind 或 xdebug

此外,如果在 unix 上并且您可以访问 apache 进程上的 try strace 命令

【讨论】:

    【解决方案3】:

    如果您尝试用纯文本替换 index.php,那么我肯定会检查您的 .htaccess 文件是否存在错误、多余字符或某种类型的无效配置。禁用它,看看是否对初学者有帮助。

    【讨论】:

      【解决方案4】:

      不容易分辨,但有一种方法可以找出答案:使用xdebug 分析器,然后使用kcachegrind 或其windows port 查看其结果。它将向您显示大量数据,包括可视化图表,希望这将有助于确定 PHP 大部分时间花在哪里...

      【讨论】:

      • 我看看能不能安装(我不确定,服务器不是我的)
      • 永远不要在生产服务器上安装它。下载您的站点并将所有内容安装在本地计算机上。它非常适合开发,但它可能是一个安全漏洞。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2017-08-21
      • 2015-01-20
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多