首页 > 解决方案 > 一些 HTTP 响应的第一行变成了“未定义未定义未定义”

问题描述

使用 PHP 7.2 编写套接字服务器。随机地,来自服务器的一些 HTTP 响应的第一行变成undefined undefined undefined了 Firefox 60 中的“网络”选项卡。所以我尝试记录所有套接字服务器发送的响应,如下所示:

file_put_contents("C:\\Users\\Username\\Desktop\\Logs\\".strlen($response).".txt", $response);
socket_write($client, $response, strlen($response));

但是,在查看日志时,undefined undefined undefined在 Firefox 中开始的相同 HTTP 响应都可以。这些日志都以HTTP/1.1 200 OK应有的方式开始。

这个问题确实停止了我的进程,因为它使使用套接字服务器做的所有事情变得如此不可靠。但是在调试PHP代码几个小时后,我找不到问题的根源。有小费吗?

额外信息:由于某种原因,同一个套接字服务器在 Chrome 中无法运行,它会显示一条错误消息,错误代码为ERR_SOCKET_NOT_CONNECTED. 它仅适用于 Firefox。我也尝试使用 CURL 连接到同一个套接字服务器,但它说curl: (56) Recv failure: Connection was aborted.

标签: phpsocketshttpfirefoxresponse

解决方案


我自己解决了这个问题!由于某种原因,在解决问题socket_set_block($socket);后立即添加上线。socket_listen($socket);


推荐阅读