我的服务器没有 SSL 证书以获取更多上下文。
我只在 IIS 中观察到此问题,这里有一些示例代码,您可以使用它来复制我的问题
<?php
$ch = curl_init();
$url = "https://example.com";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
我只能使用 cURL 和
file_get_contents()
通过 HTTP 协议发出成功的 http 请求,但是在向 https URL 发出请求时使用 file_get_contents()
时会出现错误,而在使用 cURL 向 https URL 发出请求时则不会出现任何错误。
我试图搞乱
openssl.cafile
和curl.cainfo
,但从这个答案没有成功。
还要在
allow_url_fopen = On
中设置 allow_url_include = On
和 php.ini
并根据 此 PHP 文档启用 php openSSL 扩展
不过,我只在 IIS 下运行的 PHP 文档中观察到此问题。在 PHP 交互式 shell 中,它按预期工作。
这是我的
php.ini
(如果有帮助)和我的web