请原谅我可怕的双关语。
基本上,这笔交易是,主人是个婊子。无论什么端口,服务器或任何东西,都会连接一个简单的fsockopen
脚本。试图从webhost获取服务器帮助(由于不幸的情况,我无法更改主机)被证明是无效的...一堆蠢货。然而,一个简单的phpinfo()
表明,allow_url_fopen
,Registered Stream Socket Transports
允许我tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
。
那么,我错过了什么?听起来主机是否谨慎地阻止套接字连接?我的意思是,即使端口80也不起作用:
Warning: fsockopen() [function.fsockopen]: unable to connect to www.google.com:80 (Connection timed out)
答案 0 :(得分:5)
如果您正确地呼叫fsockopen
(您没有显示代码),则该错误暗示是,它们限制您进行出站连接。
$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
}
如果您有shell访问权限,请尝试使用telnet,您应该会看到相同的结果:
telnet www.google.com 80