【问题标题】:PHP website down 15 minutes at a time: "The connection was reset"PHP 网站一次宕机 15 分钟:“连接已重置”
【发布时间】:2011-03-28 18:49:12
【问题描述】:

我刚刚开始使用 PHP 进行编码,但是有些东西阻止了我享受这种体验。当我单击任何链接时,我在连接到我的网站时遇到间歇性问题。我目前正在http://mysite.com 使用以下 php 作为测试:

<ul>
<li><a href="./">Home</a></li>
<li><a href="./index.php?nav=testone">Test 1</a></li>
<li><a href="./index.php?nav=testtwo">Test 2</a></li>
<li><a href="./index.php?nav=testthree">Test 3</a></li>
</ul>
<?php
if ($_GET["nav"] == "testone") {
    echo "This is Test 1";
}
elseif ($_GET["nav"] == "testtwo") {
    echo "This is Test 2";
}
elseif ($_GET["nav"] == "testthree") {
    echo "This is Test 3";
}
else {
    echo "Hello! Press a link.";
}
?>

网站一开始加载良好,但有时当我单击链接(例如,指向 mysite/index.php?nav=testtwo 的链接)时,它无法加载,并且我在浏览器中看到“连接已重置”。我使用 site24x7.com 来检查是否只有我有这个问题。现在,如果我使用 www.mysite.com/index.php?nav=testtwo,它可以正常加载,但即使这样最终也会失败。它是一个子目录域,但根级域在所有这些过程中始终加载。我打电话给我的托管服务提供商,他们说服务器很好,我应该检查我的 php.ini,但我不知道要寻找什么。我确实编辑了以下内容:

来自

max_execution_time = 300
最大输入时间 = 60
memory_limit = 18M

max_execution_time = 300000
最大输入时间 = 300000
memory_limit = 256M

但这并没有什么不同。我想首先诊断问题,我不知道从哪里开始。请输入任何内容!谢谢!

【问题讨论】:

  • 我希望你不要在链接之前把./放在锚标签中
  • 根目录中的静态页面可能加载正常,因为它们是从本地缓存加载的。无论哪种方式,这里只有足够的信息来推测。
  • 我不确定,但有时浏览器会从缓存中加载,也许这是个问题?

标签: php


【解决方案1】:

这不是 PHP 问题,这是服务器问题或网络连接问题。如果你真的在使用http://mysite.com(尤其是他们的免费服务),那么你真的需要一个更好的主机。您的脚本中的任何内容都不会导致连接重置。

编辑: 如果您只想玩 PHP,我建议您在本地计算机上安装 XAMPP,这样您就不必担心远程服务器了。当您准备好托管时,请查看 http:///www.webhostingtalk.com 以获取良好的托管服务提供商。就个人而言,当我需要简单且高性能的托管时,MediaLayer 真的很棒。

【讨论】:

    【解决方案2】:

    在我看来,连接被中间方中断了。

    您是在实施审查的国家/地区(例如中国)访问,还是在实施审查或数据包检查的地方访问?

    它甚至可能是配置不当的公司或学校代理。

    编辑:您说通过 site24x7.com 仍然存在问题,所以我可能错了。我不确定它是如何工作的——URL 是在查询字符串中包含您的站点 URL,还是在浏览器中显示页面内容?如果是这样,它仍然可能是一些奇怪的东西触发了一个模糊的过滤器。

    或者,它可能是您本地计算机上的防病毒软件或防火墙软件不佳 - 您可以尝试禁用它。您能否提供完整的 URL,以便我们评估发生这种情况的可能性,并查看您使用的是哪家托管公司?

    【讨论】:

    • 你有更好的建议吗?
    【解决方案3】:

    好吧,您的代码没有任何问题会导致超时问题。这确实表明您的本地连接和托管脚本的服务器之间存在问题。尝试运行多个跟踪路由,这可能会为您提供有关连接状态本身的更多详细信息。

    尝试将其托管在其他地方或在本地运行以确保您的配置/脚本没有问题,但只要您使用 Apache/PHP 的默认配置,它们在大多数情况下都可以。

    此外,我希望您将执行时间的 php.ini 值设置回默认值,这些值很好。 300000 个值是疯狂的,永远不需要。无论如何,网络上的任何人都不会等待 300000 秒才能显示他们的页面。

    【讨论】:

    • 我不同意。我经常等待 300000 秒来加载 Facebook 或 Reddit。 ;-)
    【解决方案4】:

    可能是您的浏览器和服务器之间的代理导致您断开连接,原因如下:(1) IP 地址/范围被识别为垃圾邮件来源,(2) IP 地址/范围被识别为泛滥(DoS 攻击的可能历史)、(3) 无效的 HTTP 引荐来源网址、(4) 无效的 HTTP 用户代理、(5) 服务器的流量过多,不胜枚举。

    【讨论】:

      【解决方案5】:

      更换主机。

      从 localhost 开始,例如从 apachefriends.org 下载 xampp lite

      【讨论】:

        猜你喜欢
        • 2017-05-09
        • 2017-04-07
        • 1970-01-01
        • 1970-01-01
        • 2021-02-26
        • 2019-12-05
        • 2016-04-05
        • 1970-01-01
        • 2021-08-10
        相关资源
        最近更新 更多