0

[編集]

問題の原因を誤解していたため、前の質問を再編集しました。したがって、以前持っていた十分なスニペットは赤いニシンでした。wimdvxのおかげで、何が起こっているのかについてより明確な考えがあります。

まず、PaypalからのIPN通知を処理するために、これに基づくコードを使用しています。

fsockopenを使用して接続できなかったため、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);
   }    

?>

この小さなスクリプトを実行すると、サーバーで次のエラーが発生します。

PHP警告:fsockopen():php_network_getaddresses:getaddrinfoが失敗しました:2行目の/home/minime/test-socket.phpで名前またはサービスが不明ですPHP警告:fsockopen():www.sandbox.paypal.com/に接続できません2行目の/home/minime/test-socket.phpのcgi-bin/webscr:80(php_network_getaddresses:getaddrinfo failed:Name or service not know)php_network_getaddresses:getaddrinfo failed:Name or service not

既知(0)

誰かがこれを修正する方法に光を当てることができますか?

サーバーでUbuntu10.0.4LTSを実行しています

4

2 に答える 2

4

URLに対してソケットを開くのではなく、IPまたはFQDNに対してソケットを開く必要があります。

使用する

$socket_ur = 'www.mywebsite.com';

助けることができます。

しかし、あなたは正確に何を達成しようとしていますか?

于 2010-08-04T12:22:30.167 に答える
0

$ファイルポインタ変数の前の記号を忘れました

if(!$fp) { print "Bah, hambug!. Connect to $socket_url failed. Error: $errstr"; } ?>
于 2010-08-04T12:17:43.870 に答える