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 failed: Name or service not known in /home/minime/test-socket.php on line 2 PHP 警告: fsockopen(): 无法连接到 www.sandbox.paypal.com/ cgi-bin/webscr:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/minime/test-socket.php on line 2 php_network_getaddresses: getaddrinfo failed: Name or service not

已知 (0)

任何人都可以阐明如何解决这个问题吗?

我在服务器上运行 Ubuntu 10.0.4 LTS

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 回答