【问题标题】:Getting error "An operation on a socket could not be performed..." with XAMPP and Windows again and again使用 XAMPP 和 Windows 一次又一次地收到错误“无法对套接字执行操作...”
【发布时间】:2019-05-28 22:17:30
【问题描述】:

我有一个在 XAMPP 下运行的 PHP 应用程序(Windows 环境:Windows server 2012)。

现在我在尝试通过 MySql Web 客户端(管理员 https://www.adminer.org/)登录时经常遇到错误,如下所示;

无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满。

我找到了一种描述重新启动物理服务器(不是 xampp) 的解决方案。它奏效了。但就在第二天,它又发生了。我再次重新启动它,但在几个间隔内,错误一次又一次地出现。

仅供参考;

  1. 无法重新启动 XAMPP
  2. 重启 MySql 服务器不起作用
  3. 只有重新启动物理服务器,它才会工作一段时间。
  4. 服务器在过去 6 个月的所有当前配置中都运行良好,而此问题仅从最近几天开始出现。

在服务器中;

  1. 最高负载时 CPU 消耗约为 30% 到 40%
  2. 平均内存消耗 40% 到 50%
  3. 硬盘为 90GB,其中 10GB 到 12GB 仍然可用(只有一个驱动器是 C)

我没有正确理解错误的原因。

【问题讨论】:

  • 似乎是端口问题。您是否尝试过更改 tcp 端口限制? support.microsoft.com/en-us/help/196271/…
  • Apache 在端口 80 上运行,mysql 默认为 3306。我是否需要更改此默认配置的端口限制?如果是端口限制问题,为什么在物理服务器重启几个小时后它并不总是发生,而是变得很好?
  • 2012年端口限制应该不是问题,您的PC可能发出过多的传出请求导致端口耗尽,请检查您的网络请求,您的PC也可能感染了病毒,导致请求。

标签: php mysql xampp


【解决方案1】:

Windows server 2012 的出站端口限制为 5000。在您的情况下,操作系统正尝试从编号大于 5000 的端口建立出站 TCP 连接。

这里是如何重新配置​​操作系统以提高限制https://support.microsoft.com/en-us/help/196271/when-you-try-to-connect-from-tcp-ports-greater-than-5000-you-receive-t

不过,真正的解决方案是引入连接池。

【讨论】:

    【解决方案2】:

    您是否同时运行 Skype 和 XAMPP?如果是,请尝试禁用 Skype 并重新运行 XAMPP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-27
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      相关资源
      最近更新 更多