0
我有一个连接到使用PHP套接字的telnet服务器的问题。我有一个完成的telnet类,但在我的另一台服务器上,该类不工作,因为stream_get_meta_data unread_bytes值。 PHP是否改变了5.4版本?我找不到这个改变。PHP unread_bytes在PHP 5.3中工作,但不在PHP 5.4
,我使用的代码:
$buff = '';
while (!feof($this->socket)) {
$buff .= fread($this->socket, 1024);
$stream_meta_data = stream_get_meta_data($this->socket);
if ($stream_meta_data['unread_bytes'] <= 0)
break;
}
谁能帮助我或者说我,我可以改变什么?
欢迎来到2014年,PHP 5.3不再支持,PHP 5.4几乎不支持,大家和他们的母亲建议您升级到PHP 5.6或至少PHP 5.5。至于文档:'unread_bytes:你不应该在脚本中使用这个值。' – 2014-12-07 19:15:58
好吧,它是内部缓冲区..所以......没有保证实际上可以读取的内容。单独的'feof()'不适合你吗? – Wrikken 2014-12-07 19:17:18
感谢Debian,最新版本是PHP 5.4.x! feof()不能正常工作。有什么建议么? – Aredon 2014-12-07 19:22:47