如何解决fsockopen php操作失败问题
时间:2021-07-22
来源:互联网
今天PHP爱好者给大家带来fsockopen php操作失败是因为服务器设置问题,没有监听localhost,其解决办法就是重新设置服务器网络环境即可。希望对大家有所帮助。
本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑
具体问题:
php fsockopen 本地出错?如何解决fsockopen php操作失败问题?
使用fsockopen进行异步调用时出现错误,相同的代码在阿里云centos、腾讯云win2008下没有出现问题。
host地址写127.0.0.1或localhost出现:
Warning: fsockopen(): 由于目标机器积极拒绝,无法连接。 (10061)
host写当前服务器域名出现:
Warning: fsockopen():由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 (10060)
host地址当前服务器内网IP如 192.168.3.3 相应正常,没有错误。
并且,在该服务器向其他服务器fsockopen或者其他服务器想该服务器fsockopen都没有问题,可以正常发送。
代码如下:
function async_post($host,$path,$data){
$post = http_build_query($data);
$len = strlen($post);
$fp = fsockopen( $host , 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)\n";
} else {
$out = "POST $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: Close\r\n";
$out .= "Content-Length: $len\r\n";
$out .= "\r\n";
$out .= $post."\r\n";
fwrite($fp, $out);
fclose($fp);
}
}
最终是通过内网ip调用的,但是为什么会这样呢?
解决办法:
已经找到问题根源:
服务器设置问题,没有监听localhost
服务器网络环境,不知道哪个网管搞的,服务器不能通过外网IP访问自己。
这就导致,fsockopen只能通过192那啥访问。
以上就是如何解决fsockopen php操作失败问题的详细内容,更多请关注php爱好者其它相关文章!
-
抹茶交易所 时间:2025-05-10
-
GQ币总量多少?GQ币发行量介绍 时间:2025-05-10
-
klarna是什么 时间:2025-05-10
-
GQ是什么币种?GQ币怎么样? 时间:2025-05-10
-
比特币减半时间2024 时间:2025-05-10
-
HMSTR币怎么买?HMSTR币买卖交易操作教程 时间:2025-05-10
今日更新
-
CSS选择器学习之聊聊复合选择器(详细介绍)
阅读:18
-
php.ini怎么配置错误日志
阅读:18
-
win10怎么显示我的电脑图标
阅读:18
-
php mysql模块报错怎么办
阅读:18
-
MYSQL有哪些常用基本SQL语句
阅读:18
-
ps教你如何一键抠图快速选择工具(图文详解)
阅读:18
-
Javascript中什么是私有成员
阅读:18
-
php怎么只取中文
阅读:18
-
怎么直接修改php.ini屏蔽php报错
阅读:18
-
excel中印章不遮挡文字怎么设置
阅读:18