php file_get_contents - Impossible de trouver le transport de socket "https"




3 Answers

aussi pour ssl vous devez préfixer l'hôte avec ssl: //

crypto warning

J'utilise ceci pour vérifier la disponibilité d'une URL:

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

et je reprends cette erreur ...

Attention: fsockopen () [function.fsockopen]: impossible de se connecter à https://example.com/soapserver.php:443 (Impossible de trouver le transport de socket "https" - avez-vous oublié de l'activer lorsque vous avez configuré PHP? ) dans C: \ Home etc etc ....

J'utilise un serveur IIS btw (non, ce n'est pas mon cas!), Donc je pense que cela n'a rien à voir avec open-ssl, mais je ne suis pas sûr. Quelqu'un peut-il aider s'il vous plaît?

J'ai fait un phpinfo () et j'ai SSL, mais sur IMAP et CURL, c'est tout.

Des idées?




Vous ne devriez utiliser que le nom d'hôte et non l'URL de l'appel fsockopen. Vous devez fournir l'URI, moins l'hôte / port dans les en-têtes HTTP réels. Comme @Martijin l'a noté, et comme indiqué dans la page de manuel, vous devez faire précéder votre nom d'hôte avec ssl: // pour SSL ou tls: // si vous utilisez la sécurité de la couche de transport.

Page de manuel pour fsockopen. Regardez l'exemple # 1.




Vérifiez curl installé ou non pour php. S'il n'est pas installé, installez la boucle. pour windows Décommentez la ligne: extension = php_openssl.dll dans php.ini, pour ubuntu sudo apt-get install php-curl




Related

php iis fsockopen