只有变量应该通过引用传递 - socket_select()。

7

我在我的类中有一个函数,使用了socket_select()函数,但我注意到它会抛出以下警告:

Strict Standards: *Only variables should be passed by reference*

这是我如何使用它,而且是的,我确实阅读了PHP手册中的“示例#1 使用NULL与socket_select()”。

$read = array($this->socket);
$write = NULL;
$except = NULL;

socket_select($read, $write, $except, 0, $this->socket_timeout);

在while循环内调用该函数会导致大量的错误信息。当然,我可以抑制E_STRICT错误,但我想知道这里确切的问题是什么。我的PHP版本是5.3.5


你确定那就是触发错误的确切代码行吗? - Álvaro González
socket_select只接受数组,你尝试过array(NULL)吗? - Zaffy
可能是重复的问题:Strict Standards: Only variables should be passed by reference - Lorenz Meyer
2个回答

1

可能它不喜欢空引用?

我会尝试:

$read = array($this->socket);
$write = array();
$except = array();

0
我用这个数据提前分配变量并在之后使用它来解决了这个问题:$null=null;,然后在socket_select($read, $null, $null, $tv_sec = 5)中使用。

你的回答可以通过提供更多支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的回答是否正确。你可以在帮助中心找到有关如何撰写好回答的更多信息。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接