$contextOptions = array(
'ssl' => array(
'cafile' => 'W:/userdata/config/cacert.pem',
'verify_peer'=> true,
'verify_peer_name'=> true,
)
);
$sslContext = stream_context_create($contextOptions);
$result = file_get_contents($url, NULL, $sslContext);
$w = stream_get_wrappers();
echo 'openssl: ', extension_loaded ('openssl') ? 'yes':'no', "\n";
echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n";
echo 'https wrapper: ', in_array('https', $w) ? 'yes':'no', "\n";
echo 'wrappers: ', var_export($w);
по http ссылка (www.dom.com) не работает : failed to open stream: HTTP request failed!
по http ссылка (www.dom.com/) не работает : failed to open stream: No error
хотя в браузере ссылка www.dom.com делает направление на https://www.dom.com/ и нормально открывается, а ссылка www.dom.com/ нормально открывается в браузере (но пишет что соединение не защищено)
Пример с картинкой:
Если попытаться открыть картинку через file_get_contents по https та же ошибка, по http - нет ошибок
по ссылке чистый домен (www.dom.com/) : : failed to open stream: No such file or directory
В браузере ссылки открываются без проблем