我正在使用cURL在PHP中调用REST端点来获取一些JSON数据:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
在我的本地主机上,使用以上代码获取数据需要2.5秒。但是在运行于实际服务器时,相同的代码需要大约7.5秒的时间。当直接在浏览器中打开URL时,只需要1.5秒。
我的问题是:为什么cURL在实际服务器上获取数据需要这么长时间,我该如何解决这个问题?
以下是服务器上curl_getinfo($ch)
的输出:
Array
(
[content_type] => application/json
[http_code] => 200
[header_size] => 420
[request_size] => 113
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 7.305496
[namelookup_time] => 0.150378
[connect_time] => 0.473187
[pretransfer_time] => 0.473237
[size_upload] => 0
[size_download] => 1291504
[speed_download] => 176785
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => 0
[starttransfer_time] => 1.787901
[redirect_time] => 0
[redirect_url] =>
[certinfo] => Array
(
)
[primary_port] => 80
[local_port] => 53962
)