所以,问题看起来很简单 - 错误"连接超时"在php函数fsockopen()中。 但是,我感觉我已经尝试了解决这个问题的几乎所有事情:(
详细说明: Sever专注于Hetzner,Debian 7,apache2,nginx,没什么特别的。当我尝试使用 IP而不是网站名称的功能时,它可以正常工作。此外, ping和telnet 工作正常,php函数gethostbyname也可以。我试着检查resolv.conf,看起来很正常。我试图刷新Iptables设置,没有帮助。 " allow_url_open" - 上 "已注册的PHP Streams" - https,ftps,compress.zlib,compress.bzip2,php,file,glob,data,http,ftp,phar,zip "注册的流套接字传输" - tcp,udp,unix,udg,ssl,sslv3,tls。
我不能使用cUrl或其他东西而不是fsockopen(),因为它是网站CMS的内置模块。
我用简单的代码检查它
$fp = fsockopen("www.google.com", 80, $errno, $errstr, 10); // work fine
if(! $fp) echo "www.google.com - $errstr ($errno)<br>\n";
else echo "www.google.com - ok<br>\n";
它不起作用。但如果我使用谷歌的IP而不是域名:
$fp = fsockopen("93.158.134.11", 80, $errno, $errstr, 10); // work fine
if(! $fp)
echo "93.158.134.11 - $errstr ($errno)<br>\n";
else
echo "93.158.134.11 - ok<br>\n";
有效。 在我另一个类似配置的VPS上,它说&#34; ok&#34;在这两种情况下。