当我尝试使用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);
}
?>在我将我的环境切换到使用PHP7.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 你们中有谁遇到过类似的问题,能为我指出正确的方向吗?
发布于 2017-01-26 01:32:24
我自己解决了这个问题。
这是由防火墙信任(使用IPFW)脚本造成的,出于某种原因,它拒绝了IPv6连接,这在以前是没有发生过的。
在允许ip6状态连接之后,问题就消失了。
https://stackoverflow.com/questions/41854432
复制相似问题