【问题标题】:How to prevent fwrite(): Connection reset by peer如何防止 fwrite():对等方重置连接
【发布时间】:2018-09-13 20:15:57
【问题描述】:

我有使用 fwrite 功能的 cron,在 cron 运行 1 小时后它会崩溃并出现错误:

fwrite(): 发送 29 字节失败,errno=104 连接重置为 同行

上线:

$fw = @fwrite($this->sock, $msg."\r\n");

在此之后我总是关闭连接

fclose($this->sock);

似乎 PHP 核心和 DNS 解析器内部有问题,因为在那之后我在将主机名解析为 ip 地址时遇到了一些问题。在我的功能中还使用了getmxrr()gethostbyname() 功能。 如何预防这个问题?

【问题讨论】:

  • 另一个问题是不可能用 try-catch 或 @ 处理(它不起作用)并且总是产生不需要的通知。

标签: php


【解决方案1】:

我从 PHP 社区得到了这样的回答: fwrite 内部是流式传输的部分代码,有时可能会发生。他们说在 fwrite 上修复它是不可能的,因为它可以改变其他使用流的功能的一些功能。 最终,它的属性没有错。

【讨论】:

    【解决方案2】:

    经过一些实验,我使用了更多可行的解决方案。 我用 socket_create 和 socket_connect 替换了 fsockopen 函数,它好多了。函数 fsockopen 有时连接不正确。

    【讨论】:

      猜你喜欢
      • 2021-09-01
      • 2019-11-25
      • 2018-01-02
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多