2016-08-25 3 views
1

Aus irgendeinem Grund ist php curl_exec() sehr langsam. Ich habe es verengt hinunter zum „starttransfer_time“, wie er durch die curl_getinfo() Methodenaufruf angezeigt:PHP Curl sehr langsam, cURL von Shell ist sehr schnell

[url] => https://pilot-payflowpro.paypal.com/ 
[content_type] => text/namevalue 
[http_code] => 200 
[header_size] => 151 
[request_size] => 272 
[filetime] => -1 
[ssl_verify_result] => 0 
[redirect_count] => 0 
[total_time] => 34.139412 
[namelookup_time] => 0.040742 
[connect_time] => 0.085858 
[pretransfer_time] => 0.205325 
[size_upload] => 135 
[size_download] => 200 
[speed_download] => 5 
[speed_upload] => 3 
[download_content_length] => 200 
[upload_content_length] => 0 
[starttransfer_time] => 34.139382 
[redirect_time] => 0 
[redirect_url] => 
[primary_ip] => 173.0.82.163 
[certinfo] => Array 
    (
    ) 

Aber ich kann nicht scheinen, um herauszufinden, was die lange starttransfer_time verursacht. Namenssuche, Verbindung und Vorübertragung sind alle sehr vernünftig. Ich habe versucht, das DNS Zeug, IPV4 über IPV6, usw. zu verbessern.

Ich habe herumgeschaut und gegoogelt, aber nichts hat mir bis jetzt geholfen, dieses zu lösen. Wenn ich den gleichen Curl-Befehl direkt aus der Shell heraus versuche, ist es schnell ... Sekundenbruchteile. Nichts wie die ~ 30 Sekunden wie oben gezeigt.

hier ist mein Setup:

define('URL', 'https://pilot-payflowpro.paypal.com'); 
$ch = curl_init(URL); 
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, FALSE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); 
$response = curl_exec($ch); 

Wer noch keine Ahnung, was hier oben ist?

+0

Ist es besser, jede auf eine andere HTTPS-Site, und was ist schlicht http? Unterscheidet sich die cURL-Version in PHP von der Befehlszeile? – drew010

Antwort

0

Dies bezieht sich auf das Payflow-Gateway. Aus irgendeinem Grund führen meine Anmeldeinformationen zu sehr langsamen Transaktionen.

habe ich versucht, einen anderen Satz von Anmeldeinformationen und es schrie schnell ... so ...