当我尝试使用fsockopen时,我收到operation timed out
错误代码60
错误。
这在recaptcha类中失败,但是对于以下片段也是如此:
<?php
$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
在我将环境切换为使用PHP 7.0后,此错误已经开始。
当我将网址切换为... www.stackoverflow.com
获取HTTP/1.1 200 OK
标题时,最有趣和最有趣的是它的工作。
以下网站出现超时:google.com
,yahoo.com
,facebook.com
。
安装了基本扩展程序,包括:
精确的PHP版本:
# php -v
PHP 7.0.15 (cli) (built: Jan 24 2017 01:17:16) ( NTS
你们中间有没有人有类似的问题,可以指出我正确的方向?
答案 0 :(得分:0)
我自己解决了这个问题。
这是由防火墙配置(使用IPFW)脚本引起的,由于某种原因它拒绝了IPv6连接,这在以前没有发生过。
允许ip6状态连接后,问题就消失了。