2013-11-02 31 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