欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php解决Fatal error: Maximum execution time of 1 seconds exceeded问题

程序员文章站 2024-02-21 15:10:22
...

今天实习报到研究部门老大给的代码demo,里面有一段代码如下:

//@todo: 建议增加账户uid验证机制避免失误发送
        $param["source"] = self::$_source;
        $param_str = http_build_query($param);
        $url = self::$_url_prefix . $url. "?".$param_str;

        $signature = base64_encode(hash_hmac("sha1", 'uid='.$this->_uid, self::$_secret, true));
        $tauthHeader = array('Authorization:TAuth2 token="'.urlencode(self::$_token).'", param="uid='.$this->_uid.'", sign="'.urlencode($signature).'"');
        $ch = curl_init();
        $res = curl_setopt ($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        //curl_setopt($ch, CURLOPT_TIMEOUT, 60);  
        if($post_data) {
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        }
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch,CURLOPT_HTTPHEADER,$tauthHeader);
        $result = curl_exec ($ch);
        curl_close($ch);

结果本地测试时,出现问题curl获取线上接口内容时只能执行一次,多次执行时就会报错Fatal error: Maximum execution time of 1 seconds exceeded,当然这个不是什么问题,这里记录一下解决方案,可以在上面代码中加入set_time_limit(0);//即不限制接口响应时间
或者修改php.ini中的
max_input_time = 90//此变量可以以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制。如果应用程序所运行环境处在低速链路上,则需要增加此值以适应接收数据所需的更多时间
max_execution_time=30//变量max_execution_time设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算

相关标签: PHP 配置