【问题标题】:PHP - Only variables can be passed by referencePHP - 只有变量可以通过引用传递
【发布时间】:2013-11-13 14:26:45
【问题描述】:
$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);

什么是默认超时?

【问题讨论】:

  • 请不要压制错误!它只会让事情变得不必要地困难。
  • 使用您使用的 @ 符号。删除它。

标签: php sockets variables tcp


【解决方案1】:

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

要查找默认超时,请查看stream_socket_client() 的文档。在函数签名中,您可以看到 $timeout 参数默认为 ini_get("default_socket_timeout") 返回的浮点数,因此您只需回显该参数或查看您的 PHP 配置,即可获得默认超时。

【讨论】:

  • get 是什么意思?您的电话应如下所示:stream_socket_client('tcp://' . $v1['ip'] . ':25565', $errno, $errstr);.
猜你喜欢
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 2015-12-23
  • 2011-05-27
  • 2013-06-21
  • 2017-04-03
  • 1970-01-01
相关资源
最近更新 更多