cURL в Windows: проблемы с SSL-сертификатами

Иногда при работе расширения, использующего cURL в Windows, видно следующее предупреждение.

SSL certificate problem: unable to get local issuer certificate

Оно связано с тем, что библиотека libcurl, поставляемая с PHP, собрана без поддержки хранилища сертификатов Windows, и поэтому cURL не может ее использовать.

  1. Загрузите текущий сертификат

    https://curl.haxx.se/ca/cacert.pem

  2. Поместите файл сертификата где-либо внутри папки расширения

    Например, его можно поместить внутри папки externals: PATH_TO\plib\library\externals\cacert.pem

    Пример: https://github.com/plesk/ext-route53/blob/master/src/plib/library/externals/cacert.pem

  3. Добавьте путь к файлу сертификата в массив опций cURL

    Например: https://github.com/plesk/ext-uptime-robot/blob/master/plib/library/API.php#L114