php解決Fatal error: Maximum execution time of 1 seconds exceeded問題

今天實習報到研究部門老大給的代碼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等待腳本執行完畢的時間,此時間以秒計算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章