PHP - 只能通过引用传递变量

时间:2013-11-02 14:16:10

标签: 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);

和此:

$sock = @stream_socket_client('tcp://'.$url.':'.$port, $errno, $errstr, 1);

什么是默认超时?

1 个答案:

答案 0 :(得分:4)

在第一个示例中,您将远程套接字与错误编号连接在一起,因此$errstr实际上是错误编号,1是错误字符串。 PHP无法分配给1,因此调用失败。

要查找默认超时,请查看stream_socket_client()的文档。在函数签名中,您可以看到$timeout参数默认为ini_get("default_socket_timeout")返回的float,因此您所要做的就是回显或查看PHP配置,并且您具有默认超时。