PHP curl 上传大文件非常大慢,导致超时,小文件(10M以下)的还可以,请问如何解决啊!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP curl 上传大文件非常大慢,导致超时,小文件(10M以下)的还可以,请问如何解决啊!相关的知识,希望对你有一定的参考价值。

function gethttpcurl($url, $ntarr = null, $userToken='')

session_start();
$strCookie = "phpSESSID=" . $_COOKIE['PHPSESSID'];
session_write_close();

$ch=curl_init();

$header[]='Expect:';
if($userToken)
$header[]='USERTOKEN:'.$userToken;


$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //强制协议为1.0
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); //强制使用IPV4协议解析域
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, (isset($ntarr['timeout']) && is_numeric($ntarr['timeout']))?$ntarr['timeout']:600);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, $strCookie);
if(is_array($ntarr['postarr']))
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $ntarr['postarr']);


$s = curl_exec($ch);
curl_close($ch);
return $s;


$data['title'] = $title;
$data['videofile'] = new \CURLFile(UPLOAD_PATH .$file);
$fileinfo = gethttpcurl(URL, array('postarr' =>$data));

参考技术A 修改超时限制:
ini_set('max_execution_time','0');

以上是关于PHP curl 上传大文件非常大慢,导致超时,小文件(10M以下)的还可以,请问如何解决啊!的主要内容,如果未能解决你的问题,请参考以下文章

在PHP中设置Curl的超时

配置php上传大文件

PHP大文件分片上传/多线程上传

PHP大文件分片上传/多线程上传

使用 PHP 的大文件上传错误

PHP上传大文件的三种解决方案