2013-11-02 29 views
-1
$v1['ip'] = $url; 

PHP - 只有变量可以通过参考传递

为什么不能继续工作?

$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); 

什么是默认的超时?

+3

请不要压制错误!这只会让事情变得不必要的困难。 – Ryan

+0

抑制,在哪里? – user2693017

+1

用'@'符号表示你正在使用什么。只是删除它。 –

回答

4

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

要查找默认超时时间,请查看stream_socket_client()的文档。在功能签名中,您可以看到$timeout参数默认为由ini_get("default_socket_timeout")返回的浮点数,因此您只需回显或查看您的PHP配置,并且您有默认的超时时间。

+0

谢谢,那么我怎样才能得到港口后的“,”? – user2693017

+0

* get *是什么意思?你的调用应该是这样的:'stream_socket_client('tcp://'。$ v1 ['ip']。':25565',$ errno,$ errstr);'。 –

+0

哦,对,我可以删除点,谢谢 – user2693017