袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

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。


打赏