Я хотел бы избавиться от этой ошибки. Я прочитал similar question где один ответ предложил, что я могу отключить проверку с помощью:cURL ошибка 60 при использовании GuzzleHttp
$client->setDefaultOption('verify', false);
Моя точная ошибка:
Uncaught исключение 'GuzzleHttp \ Exception \ RequestException' с сообщением «Curl ошибки 60: Проблема сертификата SSL: невозможно получить сертификат локального эмитента (см. http://curl.haxx.se/libcurl/c/libcurl-errors.html) 'в C: \ path \ guzzle \ src \ Handler \ CurlFactory.php: 187 Трассировка стека: # 0 C: \ path \ guzzle \ src \ Handler \ CurlFactory. php (150): GuzzleHttp \ Handler \ CurlFactory :: createRejection (Object (GuzzleHttp \ Handler \ EasyHandle), массив) # 1
C: \ path \ guzzle \ src \ Handler \ CurlFactory.php (103): GuzzleHttp \ Handler \ CurlFactory :: finishError (Object (GuzzleHttp \ Handler \ CurlHandler), Object (GuzzleHttp \ Handler \ EasyHandle), Object (GuzzleHttp) \ Handler \ CurlFactory)) # 2
C: \ path \ guzzle \ src \ Handler \ CurlHandler.php (43): GuzzleHttp \ Handler \ CurlFactory :: закончить (объект (GuzzleHttp \ Handler \ CurlHandler), объект (GuzzleHttp \ Handler \ EasyHandle), объект (GuzzleHttp \ Рука в C: \ путь \ жрать \ SRC \ Handler \ CurlFactory.php на линии 187
Я прочитал код всех этих линий, и нет ни одной переменной, как $client
там, но я нашел эту функцию внутри CurlFactory.php
. Обратите внимание, что файл CurlFactory.php
не был создан мной.
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;
}
}
Могу ли я установить возможность отключения проверки здесь?
Я знаю, что не рекомендуется отключать проверку, но код предназначен для личного использования и для проверки чего-то. Это не проблема, если я отключу проверку. Вот код в моем фактическом файле PHP.
require('vendor/autoload.php');
use JonathanTorres\MediumSdk\Medium;
$medium = new Medium('my-key');
$user = $medium->getAuthenticatedUser();
echo 'Authenticated user name is: ' . $user->name;
Как вы можете видеть, я не использую cURL в своем коде где угодно. Параметры должны быть установлены внутри библиотеки где-нибудь. Можно ли отключить проверку в моем собственном файле вместо изменения исходного кода библиотеки?
Спасибо барбекю.:) Я попытался установить эту опцию, указав ее под другими параметрами ниже 'curl_reset ($ resource);' like this 'curl_setopt ($ resource, CURLOPT_SSL_VERIFYHOST, 0);' но ошибка не исчезла. –
Я не знаю, что жужжание, но большинство проблем с сертификатом с завиванием либо устраняются путем отключения проверки хоста, либо путем установки корневого пакета сертификатов. Если ни один из этих вариантов не помогает, это, вероятно, проблема, связанная с жульничеством. , – barbecue
Спасибо за ссылку, это помогло мне решить проблему. :) –