ошибка скручивания: 60 Продавец Центр SDK

php curl sdk guzzle

131 просмотра

3 ответа

1622 Репутация автора

У меня проблема с использованием продавца Center SDK с этого сайта:

https://github.com/rocket-internet-berlin/SellerCenterSDK-PHP

Мне действительно понравилось то, что он сказал. и когда я пришел к тому, чтобы проверить это

php ./genericGetter.php

я получил ошибку, сказав:

curl error 60: ssl certificate problem: unable to get local issuer certificate

Я попытался отключить свой брандмауэр и добавил cacert.pemс этого сайта https://curl.haxx.se/ca/cacert.pem к себе, php.iniно все еще не повезло. Может кто-нибудь предложить решение?

Автор: procatmer Источник Размещён: 19.07.2016 08:15

Ответы (3)


0 плюса

2367 Репутация автора

Вы можете попробовать добавить его в php.ini

curl.cainfo=c:\path\to\cacert.pem

И попробуйте установить opt_option, если все еще не работает.

$options = array(
    CURLOPT_RETURNTRANSFER => true,     // return web page
    CURLOPT_HEADER         => false,    // don't return headers
    CURLOPT_FOLLOWLOCATION => true,     // follow redirects
    CURLOPT_ENCODING       => "",       // handle all encodings
    CURLOPT_USERAGENT      => "spider", // who am i
    CURLOPT_AUTOREFERER    => true,     // set referer on redirect
    CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
    CURLOPT_TIMEOUT        => 120,      // timeout on response
    CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
    CURLOPT_SSL_VERIFYPEER => false     // Disabled SSL Cert checks
);
curl_setopt_array( $ch, $options );
Автор: Quỳnh Nguyễn Размещён: 19.07.2016 08:23

0 плюса

1622 Репутация автора

просто понял это.

внутри vendor\guzzlehttp\guzzle\src\HandlerCurlFactory.php, на line 329; менять;

$conf[CURLOPT_SSL_VERIFYPEER] = true;

в

$conf[CURLOPT_SSL_VERIFYPEER] = false;

до сих пор я не знаю побочный эффект, который может произойти. но теперь он работает нормально.

Надеюсь, это будет полезно тем, кто хочет работать с Продавцом Центр SDK.

Автор: procatmer Размещён: 19.07.2016 08:32

0 плюса

1 Репутация автора

Если вы можете доверять источнику, из которого вы потребляете ресурсы, то, вероятно, я бы сказал, что вы можете временно отключить эту опцию, как вы это уже сделали, но я бы порекомендовал вам проверить корень проблемы для долгосрочного решения.

Кажется, проблема в том, что у curl нет действующего сертификата:

  • Проверьте, есть ли на вашем сервере последний файл cacert.pem, который вы можете загрузить с https://curl.haxx.se/docs/caextract.html, и добавьте его в каталог сертификатов сервера.
  • если сервер использует сертификат, подписанный центром сертификации, представленным в cacert, срок его действия может истечь, или имя может не совпадать с именем домена, используемым вашим SDK.

Если у вас все еще нет решения, перейдите по ссылке ниже, чтобы узнать, может ли один из предложенных вариантов дать вам решение: curl: (60) SSL-сертификат: невозможно получить сертификат локального эмитента

Автор: Fábio Размещён: 03.07.2018 08:28
Вопросы из категории :
32x32