Ответ 1
Загрузите https://curl.haxx.se/ca/cacert.pem и переименуйте в ssl.txt, затем вы можете попробовать
$ch = curl_init();
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/ssl.txt");
Я использую cURL для проверки логинов в течение нескольких месяцев, а работает нормально.
$searchURL = "https://url.com/isTokenValid?";
$strCookie = 'asdf=' . $_COOKIE['asdf'] . '; path=/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $searchURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie );
curl_setopt($ch, CURLOPT_CAPATH, "\cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, FALSE);
if($answer = curl_exec($ch))
{
if (strpos($answer,'true') !== false)
{
$login = true;
}
else
{
$login = false;
}
Сегодня утром - он перестал работать, и я получаю сообщение об ошибке:
Ошибка скручивания: проблема сертификата SSL: невозможно получить сертификат локального эмитента
Я использую файл cacert.pem
из https://curl.haxx.se/ca/cacert.pem - в случае, если эти данные необходимо обновить или обновить в некоторых Кстати, я использую файл с этой даты, который по-прежнему остается самым актуальным:
Данные сертификата из Mozilla с: Wed Oct 28 04:12:04 2015
Это не моя сильная сторона в веб-разработке, поэтому я не уверен, как решить, что происходит здесь. Моя первая мысль состоит в том, что это должно быть что-то серверное, так как я не делал никаких изменений локально в течение выходных, но я не хотел начинать совать, если кто-то может указать мне в правильном направлении.
Спасибо!
Загрузите https://curl.haxx.se/ca/cacert.pem и переименуйте в ssl.txt, затем вы можете попробовать
$ch = curl_init();
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/ssl.txt");
состояния завивки человека:
-k, --insecure
(SSL) This option explicitly allows curl to perform "insecure"
SSL connections and transfers. All SSL connections are attempted
to be made secure by using the CA certificate bundle installed
by default. This makes all connections considered "insecure"
fail unless -k, --insecure is used.
See this online resource for further details:
http://curl.haxx.se/docs/sslcerts.html