【问题标题】:find timeout links in a php script在 php 脚本中查找超时链接
【发布时间】:2014-11-03 04:39:21
【问题描述】:

我有一个看起来像这样的 php 脚本: admin.php?action=plugins&operation=config&do=92

在 php 文件中有多个包含和其他功能,每次我加载它时,可能会有一个错误的链接导致整个页面在超时后加载(通常恰好是 2.1 或 2.1 分钟,由 chrome 的调试器)。

我的问题是如何找到发送到服务器以进行处理/连接并最终超时的坏链接?

error_reporting 没有报告任何有用的信息。我一直在尝试查看 xdebug 是否有效,但我对如何使用它一无所知。我需要一种方法来找到错误的链接/IP/主机名,而无需遍历每一段代码。

感谢任何建议!

【问题讨论】:

  • 这是在开发者网站上检查他们插件的新版本是否可用吗?

标签: php nginx timeout


【解决方案1】:

我修复了 ssh 下 tcpdump 的问题。

使用 tcpdump 我能够看到我的服务器建立的所有连接,并从那里在加载该特定页面时测试每个 IP,并且 ip 的 ping 从 ping 超时。

我拒绝了我的 iptables 中的 ip 并永久修复了问题。

【讨论】:

    【解决方案2】:

    如果我理解正确,导致延迟的原因是服务器端包含和/或要求。

    如果是这种情况,您可以添加一些带有时间戳的行,以查看是哪一个导致了问题,例如:

    echo "Start:".date("H:i:s");
    require_once("lib1.php");
    echo "lib1 loaded at :".date("H:i:s");
    include("lib2.php");
    echo "lib2 loaded at :".date("H:i:s");
    .....
    

    然后,您可以使用您喜欢的浏览器网络面板查看响应内容,这会告诉您是哪一个导致了延迟。

    【讨论】:

      【解决方案3】:

      我能理解的是,一旦您键入 url,它就会向您的 admin.php 脚本发送请求,这会将响应发送回您的浏览器,但响应中有很多 js / css/ 图像文件,这些文件有错误的链接和要找出错误的链接,您可以使用 fiddler。这将告诉您的页面发送的所有请求以及发送到哪些 url。 Fiddler 会告诉你哪个请求需要多少时间来加载。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-08
        • 1970-01-01
        • 2011-11-02
        • 2011-06-22
        • 2011-09-19
        • 1970-01-01
        • 2014-04-19
        • 2011-10-12
        相关资源
        最近更新 更多