zoukankan      html  css  js  c++  java
  • stream_set_timeout (fread 造成了php程序timeout)

    最近在执行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) 请求其他机子都是正常的(同样的配置),唯独我的机子出现了这个问题,表示很尴尬!~ 会不断的寻找解决方案,不过如果有哪个大侠能有什么好的点子,跪求~

  • 相关阅读:
    打印机连接向导
    字符串替换
    登入脚本统一公司桌面
    判断文件是否存在
    DOS系统变量
    修改文件访问权限
    【CF1017C】The Phone Number(构造)
    【CF1017B】The Bits(模拟)
    【CF1017A】The Rank(签到)
    【CF1016B】Segment Occurrences(模拟)
  • 原文地址:https://www.cnblogs.com/wilburxu/p/6183154.html
Copyright © 2011-2022 走看看