Home » Code » PHP CURL POST 很慢?

PHP CURL POST 很慢?

使用PHP CURL发起一个POST请求,请求的本机某个端口(有PHP常驻进程监听那个端口),却发现速度慢得要死,经常需要1到2秒也就是1000多毫秒才能返回,要shi啊!代码如下:

$t1 = microtime(true);
$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_CONNECTTIMEOUT_MS => 200,
    CURLOPT_TIMEOUT_MS => 1500,
    CURLOPT_HEADER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_RETURNTRANSFER => true,//不输出
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($post),
]);
$result = curl_exec($ch);
if ($result === false)
{
    return ['err' => curl_error($ch), 'data' => ''];
}
else
{
    $result = json_decode($result, true);//返回的是json字符串
    $result['curl_time_use'] = microtime(true) - $t1;
    return ['err' => null, 'data' => $result];
}

这上边$post变量就一个简单的数组,请求的端口处理起来不会超过10毫秒(0.01s),这是一定的,居然总耗时会达到1000毫秒以上,根