Начиная с PHP 5.6 он будет автоматически определять, где находятся ваши сертификаты CA. В идеале вам следует обновиться до более новой версии PHP (7.1 будет хорошей целью для обновления).
Вот ссылки на конкретные RFC, которые более подробно охватывают тему и объясняют, почему и как были сделаны изменения в PHP> = 5.6:
Для чего-либо до PHP 5.6 вам нужно будет указать их вручную (либо найти их самостоятельно и указать их вручную, либо загрузить предварительно упакованный набор из источника, такого как https://curl.haxx.se/ca/cacert.pem, и добавить его в свой репозиторий кода).
Затем вручную укажите это в своем коде так:
// Using cURL
curl_setopt($curl, CURLOPT_CAINFO, 'path/to/cafile');
// or using file_get_contents
$context = stream_context_create([
'ssl' => [
'verify_peer' => true,
'cafile' => 'path/to/cafile',
'CN_match' => '[domain-you-are-contecting-to]'
]
]);
file_get_contents($url, false, $context);