stream_set_timeout (fread 造成了php程序timeo…

2018-06-23 13:19:12来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

最近在执行fread时候,php出现了 "Fatal error: Maximum execution time of 30 seconds

fread() :从文件指针 handle 读取最多 length 个字节。

handle:文件系统指针,是典型地由 fopen() 创建的 resource (资源)。

length:最多读取 length 个字节。

 

fread 一个远端文件的时候出现了超时,表示很头疼,但是最后用stream_set_timeout 暂时挂起了

下面是我的代码

    stream_set_timeout($fp, 2);  // 2秒后为超时
    $_data = fread($fp, $this->maxlength);
    $info = stream_get_meta_data($fp);
    fclose($fp);
    if ($info['timed_out']) {
        print_r($info); die();
    } else {
        print_r($_data);
    }

其中 $info 的信息如下:

Array
(
    [stream_type] => tcp_socket/ssl
    [mode] => r+
    [unread_bytes] => 0
    [seekable] => 
    [timed_out] => 1
    [blocked] => 1
    [eof] => 
)

// timed_out = 1 为超时   

 

ps: fread($fp,50000) 请求其他机子都是正常的(同样的配置),唯独我的机子出现了这个问题,表示很尴尬!~ 会不断的寻找解决方案,不过如果有哪个大侠能有什么好的点子,跪求~

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FastCgi与PHP-fpm之间的关系

下一篇:关于TP3.2微信开发那点事(基础篇)