的fsockopen()返回空指针,和$ errstr是空的(没有错误消息)
-
25-09-2019 - |
题
[编辑]
我已经重新编辑了前面的问题 - 因为我有误解是什么原因导致的问题 - 因此充足的片段,我以前还是一个红色的鲱鱼。由于wimdvx,我有一个更清楚了解正在发生的事情。
首先,我使用的代码,在此基一个时,从贝宝处理IPN通知。
我无法使用连接的fsockopen,所以我写了一个小片段(如下所示),以尝试连接到贝宝。
<?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 失败:产品名称或服务不知道 /home/minime/test-socket.php第2行 PHP的警告:的fsockopen():不能 连接至 www.sandbox.paypal.com/cgi-bin/webscr:80 (php_network_getaddresses:的getaddrinfo 失败:产品名称或服务不知道)在 /home/minime/test-socket.php第2行 php_network_getaddresses:的getaddrinfo 失败:名称或服务不
已知的(0),点击
任何人都可以阐明如何解决此问题的一些光?
我在服务器上运行Ubuntu 10.0.4 LTS
解决方案
您不打开插座一个URL,你必须打开它的IP或FQDN。
使用
$socket_ur = 'www.mywebsite.com';
可以帮助。
但是,什么是你想实现什么呢?
其他提示
您thefile指针变量之前忘了$
符号
if(!$fp) { print "Bah, hambug!. Connect to $socket_url failed. Error: $errstr"; } ?>
不隶属于 StackOverflow