PHP的fsockopen总是等待60秒才返回结果的问题总结
浏览量:638
解决办法:
while(!feof($fp)){
stream_set_timeout($fp, 2);
$content .= fread($fp, 1024);
$info = stream_get_meta_data($fp);
if ($info['timed_out']) {
break;
}
}
提示:feof() 函数对遍历长度未知的数据很有用。
注意:如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回 TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。
注意:如果传递的文件指针无效可能会陷入无限循环中,因为 EOF 不会返回 TRUE。


感谢支持与鼓励~