php - 一些 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
.
解决方案
我自己解决了这个问题!由于某种原因,在解决问题socket_set_block($socket);
后立即添加上线。socket_listen($socket);
推荐阅读
- unity3d - Zigfu + unity3d OSX
- python - 值错误:形状不兼容 tensorflow tfrecord
- python - Python:SOAP API 不起作用,我做错了什么?
- r - 生存分析:生命表中审查事件的数量
- java - 在 JSON 字符串中查找多种日期格式
- c# - 如何使用 MVC 5 在基于令牌的身份验证中检查用户是否从控制器登录?
- javascript - 创造动态来自 JSON
- php - 使用带有 Filepond 和 Php 后端的 reactjs 上传文件
- c++ - C++ 为什么非常量数组声明不好?
- haskell - 有没有办法强制 Haskell 代码排序像 F# 一样工作?