fsockopen () renvoie un pointeur NULL et errstr $ est vide (aucun message d'erreur)
-
25-09-2019 - |
Question
[Modifier]
Je réédités la question précédente - depuis que je l'avais mal compris ce qui était à l'origine du problème - et donc l'extrait amplement que j'avais avant était un faux. Merci à wimdvx, j'ai une idée plus claire de ce qui se passe.
Tout d'abord, je me sers du code qui est la base sur cette un , pour gérer les notifications IPN de Paypal.
Je suis incapable de se connecter en utilisant fsockopen, j'ai donc écrit un petit extrait (ci-dessous), pour essayer de se connecter à Paypal.
<?php
$fp = fsockopen("www.sandbox.paypal.com/cgi-bin/webscr", 80, $errno, $errstr,30);
if(!$fp) {
echo "$errstr ($errno)<br />\n";
}
else{
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.sandbox.paypal.com/cgi-bin/webscr\r\n";
$out .= "Connection: Close\r\n\n\n";
fwrite($fp, $out);
}
?>
Quand je lance ce petit script, je reçois l'erreur suivante sur mon serveur:
PHP Warning: fsockopen (): php_network_getaddresses: getaddrinfo a échoué: Nom ou service non connus dans /home/minime/test-socket.php sur la ligne 2 PHP Warning: fsockopen (): incapable de se connecter à www.sandbox.paypal.com/cgi-bin/webscr:80 (php_network_getaddresses: GetAddrInfo a échoué: Nom ou service non connu) dans /home/minime/test-socket.php sur la ligne 2 php_network_getaddresses: getaddrinfo a échoué: Nom ou service non
connu (0)
Quelqu'un peut-il faire la lumière sur la façon de résoudre ce problème?
Je suis Ubuntu LTS 10.0.4 sur le serveur
La solution
Vous ne pas ouvrir une socket à une URL, vous devez l'ouvrir à une adresse IP ou un nom de domaine complet.
Utilisation
$socket_ur = 'www.mywebsite.com';
pourrait aider.
Mais qu'est-ce que vous essayez de réaliser exactement?
Autres conseils
Vous avez oublié le symbole de $
avant variable pointeur thefile
if(!$fp) { print "Bah, hambug!. Connect to $socket_url failed. Error: $errstr"; } ?>