laravel stream_socket_client 报错

_白嫖

场景:laravel8 , Workerman , Win10

各位大佬,有没有在 laravel 控制器里面写 stream_socket_client 的
当关闭 Workerman,laravel8 会报错

代码

$client = stream_socket_client('tcp://127.0.0.1:2001', $errno, $errmsg, 30);# laravel8 这一句存在就报错了
if(!$client) return ['code'=>$errno,'message'=>$errmsg];

返回

{
    "message": "Malformed UTF-8 characters, possibly incorrectly encoded",
    "exception": "InvalidArgumentException",
    "file": "D:\\phpstudy_pro\\WWW\\v2.cc\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\JsonResponse.php",
    "line": 84
}
1896 2 0
2个回答

yongdao35

http://doc2.workerman.net/push-in-other-project.html

你是不是2台服务器啊。手册说了,如果gatewayclient 和 gatewayWorker不在一台服务器上要配置一些东西

  • _白嫖 2021-07-03

    不是,当Workerman在运行的时候没有任何问题,但是当Workerman处于关闭状态,就会报这个错误。
    按道理说 我们可以判断 $client 状态确认是否链接到内部端口,但是在laravel中 会报错,这个报错又不是stream_socket_client的问题,好像是编码问题

_白嫖

问题到这算是解决了吧。
WIN10 系统语言设置>> Beta版:使用 Unicode UTF-8 提供全球语言支持(U) 勾选上 然后确定即可

  • 暂无评论
年代过于久远,无法发表回答
🔝