找不到套接字传输“https”

2022-08-30 13:03:20

我正在用它来检查URL的可用性:

$fp = fsockopen($url, 443, $errno, $errstr);

我得到这个错误回来...

警告: fsockopen() [function.fsockopen]: 无法连接到 https://example.com/soapserver.php:443 (找不到套接字传输 “https” - 当你配置 PHP 时,你忘记启用它了吗?) 在 C:\Home 等中...

顺便说一句,我正在使用IIS服务器,(不,它不是我做的!)所以我认为它与没有open-ssl有关,但我不确定。任何人都可以帮忙吗?

我做了一个phpinfo(),我确实有ssl,但是在IMAP和cURL上,仅此而已。

有什么想法吗?


答案 1

取消注释该行:在extension=php_openssl.dllphp.ini


答案 2

您应该只使用主机名,而不是 fsockopen 调用中的 URL。您需要提供 uri,减去实际 HTTP 标头中的主机/端口。@Martijin 如前所述,如手册页中所列,您需要在主机名前加上 SSL ssl://,如果使用传输层安全性,则需要 tls://。

fsockopen 的手册页。请看示例 #1。


推荐