2016-04-11 8 views
6

Ich habe ein Problem mit dem "Paypal PHP Restful SDK". Mein Problem ist, dass (im Sandbox-Modus) bekomme ich manchmal der Fehler "konnte Host ... nicht auflösen". Dies geschieht ungefähr bei jeder 10. Zahlungssitzung im Sandbox-Modus.Paypal Restful - Konnte nicht Host

hier der angemeldete Fehler:

mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'PayPal\\Exception\\PayPalConnectionException' with message 'Could not resolve host: api.sandbox.paypal.com' in /var/www/xxxxx.com/httpdocs/app/paypal/paypal/rest-api-sdk-php/lib/PayPal/Core/PayPalHttpConnection.php:137 

die corrospending Linie aus dem SDK ist:

//Throw Exception if Retries and Certificates doenst work 
if (curl_errno($ch)) { 
    $ex = new PayPalConnectionException(
     $this->httpConfig->getUrl(), 
     curl_error($ch), 
     curl_errno($ch) 
    ); 
    curl_close($ch); 
    throw $ex; 
} 

Info: Ich habe kein Zertifikat auf meinem vServer

jemand kennt, was ist falsch arbeiten?

+2

Paypal sdk, im Sandbox-Modus, sollte hier Fehler zurück und dann lassen Sie testen und richtig behandeln diese Fälle – atrebbi

+0

@atrebbi Mind Unterstützung dieser Aussage mit Link zu einer offiziellen Paypal SDK-Dokumentation, die dieses Verhalten als absichtlich beschreibt? Ich wäre überrascht, wenn du willst. –

+1

die Fehlerbedingung sollte im Sandbox-Konto eingerichtet werden, um Fehler zu simulieren (negative Tests, sollte; ich erinnere mich nicht, wenn es eingerichtet werden kann, immer zu scheitern oder sogar zufällige Fehler zu bekommen) – atrebbi

Antwort

8

Es gibt nicht genügend Informationen, um das Problem vollständig zu diagnostizieren und den Schuldigen zu finden. Sie können z. B. Netzwerkproblem in Ihrer Laufumgebung, DNS-Setup-Problem, Verbindungstimeouts usw. haben. Da das Problem häufig genug auftritt, um es zu reproduzieren, können Sie versuchen api.sandbox.paypal.com mit anderen Tools wie host oder zu lösen, oder Sie können sogar PHP erstellen Skript, das einfach tun würde:

und führen Sie es oft, um zu sehen, ob das Problem auch hier auftreten würde. Wenn dies der Fall ist, dann bin ich der Meinung, dass SO nicht der richtige Ort ist, um diese Art von Problemen weiter zu verfolgen, aber als Workaround/temporäre Lösung könnten Sie entweder IP (derzeit 173.0.82.78) Adresse anstelle von api.sandbox.paypal.com verwenden oder Ihre lokale /etc/hosts Datei bearbeiten und

hinzufügen
173.0.82.78 api.sandbox.paypal.com 
0

Sie können immer versuchen, den DNS-Cache zu leeren und die Netzwerkschnittstelle neu zu starten. Sie können auch versuchen, zu pingen und zu überprüfen, ob PayPal API tatsächlich pingbar (erreichbar) ist, versuchen Sie auch zu Google DNS ändern, vielleicht wird das das Problem sortieren.

Verwandte Themen