Soket taşıma "https" bulmak için açılamıyor

3 Cevap php

Ben bir URL durumunu kontrol etmek bu kullanıyorum:

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

ve ben bu hatayı geri almak ...

Warning: fsockopen() [function.fsockopen]: unable to connect to https://example.com/soapserver.php:443 (Unable to find the socket transport "https" - did you forget to enable it when you configured PHP?) in C:\Home etc etc....

Ben, btw bir IIS sunucusu kullanıyorum (yok onun benim yapmıyor!) Bu yüzden ben açık ssl olmaması ile ilgisi olan bir şey düşünüyorum, ama emin değilim. Kimse lütfen yardımcı olabilir misiniz?

Ben bir phpinfo yaptım () ve ssl var, ama IMAP ve cURL üzerinde, hepsi bu.

Herhangi bir fikir?

3 Cevap

Sen fsockopen çağrısı sadece hostname değil, URL kullanarak olmalıdır. Sen uri, eksi gerçek HTTP başlıklarını konak / port sağlamak gerekir. Martijin @ kaydetti ve manuel sayfasında listelendiği gibi, sen :/ :/ / SSL ya da TLS, SSL ile host adını önsöz gerekir gibi / taşıma katmanı güvenliği kullanıyorsanız.

Manual page fsockopen için. Örnek # 1 bak.

Çizgi kaldırın: extension=php_openssl.dll in php.ini

Ayrıca ssl için SSL ile ana öneki gerekir :/ /