【问题标题】:Connection Interrupted. The connection to the server was reset while the page was loading连接中断。加载页面时重置与服务器的连接
【发布时间】:2008-09-23 22:47:27
【问题描述】:

我正在使用 FF3 调用属于 MySQL/PHP Web 应用程序的 PHP 脚本。我在本地主机上运行 XAMPP。我得到的只是这个:

连接中断
加载页面时重置与服务器的连接。 协商连接时网络链接中断。请重试。

【问题讨论】:

标签: php mysql firefox


【解决方案1】:

有许多可能的解决方案......取决于“为什么”......所以它最终会有点反复试验。在全新安装时,这很难确定。但是,如果您最近进行了“重大”更改,则可以开始寻找 - 例如修改虚拟主机或添加/启用 XDebug。

这是我过去使用/做过/尝试过的事情的列表

  • 检查无限循环...特别是循环通过 SQL 提取结果,该结果在 99% 的时间都有效,但 1% 无效。在一种情况下,我使用前两个查询的结果作为 for 循环的上限和下限 ... 偶尔会得到 UINT max 的上限 ... har har har (vomit)

  • 将 ./php/libmysql.dll 复制到 windows/system32 目录(特别是如果您在日志文件中看到 Parent: child process exited with status 3221225477 -- Restarting...请查看:http://www.java-samples.com/showtutorial.php?tutorialid=1050

  • 1234563系统变量(不,谁会做这种邪恶的黑客行为?ahem
  • 如果您将 MySQL 转换为 MyISAM 或 mysqli 以外的其他东西

MySQL 存在一个与 MyISAM、UTF8 字符集和索引相关的已知错误 (http://bugs.mysql.com/bug.php?id=4541) 解决方法是使用 InnoDB 方言(例如 sql set GLOBAL storage_engine='InnoDb';

  • 这样做会改变新表的创建方式......这可能轻微改变结果返回到 fetch 语句的方式......导致无限循环、格式错误的数据集等。(尽管此更改不应挂起数据库本身)

其他有用的项目是在其配置文件中增加 PHP 和 apache 的调试报告并重新启动服务器。日志文件有时会提供至少哪里问题可能存在的线索。如果它在您的页面内容完成后发生,则更有可能在 php 设置中。如果是在页面构建期间,请检查您的 PHP 代码。等等等等。

希望上面的洗衣清单有朝一日能对某人有所帮助……可能是我自己,当我再次遇到它并回到这里寻找“我上次是怎么解决的?” ... :)

【讨论】:

    【解决方案2】:

    您的脚本可能会陷入无限循环。如果这不适用,那么我会像 TimB 建议的那样检查错误日志。

    【讨论】:

      【解决方案3】:

      听起来您正在调用的 PHP 脚本在没有返回有效响应的情况下失败。根据您设置的日志记录级别,这应该会在 Apache 日志文件中生成一个错误,这将使您对问题有所了解。我对 XAMPP 不熟悉,但您应该能够找出日志的位置,并查找在您向 PHP 脚本发出请求时发生的错误。

      【讨论】:

        【解决方案4】:

        将 libmysql.dll 复制到 apache\bin 文件夹可能会帮助您克服这个奇怪的错误

        【讨论】:

        • 感谢 tata9999。我已经被这个问题困扰了大约一个星期了。你的建议成功了。
        • 我使用了mysql_pconnect,错误消失了。然而 tata999 击中了靶心。
        【解决方案5】:

        我解决了这个问题升级xampp\php\ext\xdebug\php_xdebug.dll (改为php xdebug v.2.0.5-5.3-vc9)

        【讨论】:

        • 谢谢,Raul,这解决了我的问题(尽管我最终需要的 dll 版本与您不同)。
        【解决方案6】:

        我遇到了同样的问题,这就是我所做的。

        我通过 php cli 脚本发出了 http get 命令,结果发现我在某处两次声明了一个类。

        顺便说一句,我在 Mac 上使用 AMPPS

        希望这对某人有所帮助!

        【讨论】:

          【解决方案7】:

          尝试在启用 Firebug 的情况下发出请求,看看你能从中得到什么信息;我总是发现使用 wget 有助于查看原始 HTTP 交互,而不必担心 Firefox 的 UI 元素会干扰。

          【讨论】:

            【解决方案8】:

            如果您在 Windows 2008 Server(iis 7) 中使用旧 selfssl 工具 (iis 6) 中的 ssl 证书,那就是问题所在。有时,Microsoft 会发布可以破坏所有这些旧证书的补丁。解决方案是再次生成它们。

            【讨论】:

            • 这不是 IIS 问题,因为他说他使用的是 XAMPP,其中 A 代表 Apache。
            【解决方案9】:

            libmysql.dll 复制到apache\bin 文件夹可能会帮助您克服这个奇怪的错误

            这确实帮助我解决了这个问题

            在加载页面时重置了与服务器的连接。

            【讨论】:

              【解决方案10】:

              如果问题不起作用,这对我有用。 1. 我有一个新的 PHP zip 目录并将其与 apache 连接 2.我在新的php中搜索了libmysql并将其插入到apache/bin 它是那里需要的这个 libmysql.dll,而不是 mySQL/bin 的一种形式。

              好的,至少那是有效的。

              【讨论】:

                【解决方案11】:

                我遇到了一个非常相似的问题 - 这不适用于提出此问题的人 - 但可能对正在阅读此页面的其他人有所帮助...

                我遇到了一个问题,在某些情况下 PHP 5.4 + eAccelerator = 连接重置。任何日志文件中都没有错误输出,并且只发生在某些 URL 上,因此难以诊断。原来它只发生在某些 PHP 代码/某些 PHP 文件中,并且是由于与特定 PHP 代码和 eAccelerator 的一些不兼容。最简单的解决方案是禁用该特定站点的 eAccelerator,方法是将以下内容添加到 .htaccess 文件中

                php_flag eaccelerator.enable 0

                php_flag eaccelerator.optimizer 0

                (或 php.ini 中的等效行):

                eaccelerator.enable="0"

                eaccelerator.optimizer="0"

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-04-26
                  • 2012-12-05
                  • 2018-01-06
                  • 2018-10-24
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多