PHP-只能通过引用传递变量
为什么下面的方法不起作用PHP-只能通过引用传递变量,php,sockets,variables,tcp,Php,Sockets,Variables,Tcp,为什么下面的方法不起作用 $v1['ip'] = $url; 但这是: $sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr, 1); 这是: $sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr); 默认超时是什么?在第一个示例中,您将远程套接字与错误号连接在一起,因此$errstr实际上是错误号,
$v1['ip'] = $url;
但这是:
$sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr, 1);
这是:
$sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr);
默认超时是什么?在第一个示例中,您将远程套接字与错误号连接在一起,因此
$errstr
实际上是错误号,1
是错误字符串。PHP无法分配给1
,因此调用失败
要查找默认超时,请查看的文档。在函数签名中,您可以看到
$timeout
参数默认为ini\u get(“default\u socket\u timeout”)
返回的浮点值,因此您所要做的就是回显该值或查看PHP配置,您就有了默认超时。请不要抑制错误!它只会让事情变得不必要的困难。使用@
符号,您将使用什么。把它拿走,你说的“得到”是什么意思?您的调用应该如下所示:stream\u socket\u client('tcp://'.$v1['ip'.'):25565',$errno,$errstr)代码>。
$sock = @stream_socket_client('tcp://'.$url.':'.$port, $errno, $errstr, 1);