Ich möchte diesen Fehler loswerden. Ich las eine similar question wo eine Antwort schlug vor, dass ich die Prüfung deaktivieren kann mit:cURL Fehler 60 während der Verwendung der GuzzleHttp
$client->setDefaultOption('verify', false);
Mein genaue Fehler ist:
abgefangene Ausnahme 'GuzzleHttp \ Exception \ RequestException' mit der Meldung ‚cURL Fehler 60: Problem mit dem SSL-Zertifikat: Das Zertifikat des lokalen Ausstellers konnte nicht bezogen werden (siehe http://curl.haxx.se/libcurl/c/libcurl-errors.html) 'in C: \ Pfad \ guzzle \ src \ Handler \ CurlFactory.php: 187 Stack-Trace: # 0 C: \ Pfad \ guzzle \ src \ Handler \ CurlFactory. php (150): GuzzleHttp \ Handler \ CurlFactory :: createRejection (Objekt (GuzzleHttp \ Handler \ EasyHandle), Array) # 1
C: \ Pfad \ guzzle \ src \ Handler \ CurlFactory.php (103): GuzzleHttp \ Handler \ CurlFactory :: finishError (Objekt (GuzzleHttp \ Handler \ CurlHandler), Objekt (GuzzleHttp \ Handler \ EasyHandle), Objekt (GuzzleHttp \ Handler \ CurlFactory)) # 2
C: \ Pfad \ guzzle \ src \ Handler \ CurlHandler.php (43): GuzzleHttp \ Handler \ CurlFactory :: Finish (Object (GuzzleHttp \ Handler \ CurlHandler), Objekt (GuzzleHttp \ Handler \ EasyHandle), Objekt (GuzzleHttp \ Hand in C: \ Pfad \ guzzle \ src \ Handler \ CurlFactory.php on line 187
ich den Code aller dieser Zeilen zu lesen und es gibt keine Variable wie $client
dort aber ich fand diese Funktion innerhalb CurlFactory.php
. Bitte beachten Sie, dass die Datei CurlFactory.php
nicht von mir erstellt wurde.
public function release(EasyHandle $easy)
{
$resource = $easy->handle;
unset($easy->handle);
if (count($this->handles) >= $this->maxHandles) {
curl_close($resource);
} else {
// Remove all callback functions as they can hold onto references
// and are not cleaned up by curl_reset. Using curl_setopt_array
// does not work for some reason, so removing each one
// individually.
curl_setopt($resource, CURLOPT_HEADERFUNCTION, null);
curl_setopt($resource, CURLOPT_READFUNCTION, null);
curl_setopt($resource, CURLOPT_WRITEFUNCTION, null);
curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null);
curl_reset($resource);
$this->handles[] = $resource;
}
}
Kann ich die Option zum Deaktivieren der Verifizierung hier einstellen?
Ich weiß, es ist keine gute Idee, die Überprüfung zu deaktivieren, aber der Code ist für den persönlichen Gebrauch und etwas zu testen. Es ist kein Problem, wenn ich die Überprüfung deaktiviere. Hier ist der Code in meiner eigentlichen PHP-Datei.
require('vendor/autoload.php');
use JonathanTorres\MediumSdk\Medium;
$medium = new Medium('my-key');
$user = $medium->getAuthenticatedUser();
echo 'Authenticated user name is: ' . $user->name;
Wie Sie sehen können, verwende ich cURL nirgends in meinem Code. Die Optionen müssen irgendwo in der Bibliothek eingestellt werden. Ist es möglich, die Verifizierung in meiner eigenen Datei zu deaktivieren, anstatt den Quellcode der Bibliothek zu ändern?
Dank Barbecue.:) Ich habe versucht, diese Option zu setzen, indem ich sie unter anderen Optionen unterhalb von 'curl_reset ($ resource);' like this 'curl_setopt ($ resource, CURLOPT_SSL_VERIFYHOST, 0);' setze, aber der Fehler ist nicht verschwunden. –
Ich weiß nicht, guzzle, aber die meisten Probleme mit dem Zertifikat mit curl werden entweder durch Deaktivieren der Hostverifizierung oder durch Installieren des Root-Zertifikatsbündels behoben. Wenn keine dieser Optionen hilft, ist es wahrscheinlich ein guzzelspezifisches Problem. . – barbecue
Danke für den Link, der mir geholfen hat, das Problem zu lösen. :) –