PHP fsockopen():本地测试服务器与远程服务器
我希望apache/php中有一个我不知道的怪癖 守则:PHP fsockopen():本地测试服务器与远程服务器,php,apache,local,fsockopen,Php,Apache,Local,Fsockopen,我希望apache/php中有一个我不知道的怪癖 守则: <?php $servers = array( array("70.89.xxx.226",25565,''), array("50.22.xxx.147",25591,''), ); foreach($servers as $key=>$server){ $fp = @fsockopen($server[0],$server[1],$errno,$er
<?php
$servers = array(
array("70.89.xxx.226",25565,''),
array("50.22.xxx.147",25591,''),
);
foreach($servers as $key=>$server){
$fp = @fsockopen($server[0],$server[1],$errno,$errstr,.5);
if(!$fp) {
$servers[$key][2] = "DOWN";
} else {
$servers[$key][2] = "UP";
@fclose($fp);
}
unset($fp);
}
echo"
<table>
<thead>
<td>Minecraft Server Status</td>
</thead>";
foreach ($servers as $key=>$server){
$keyplus = $key + 1;
echo"
<tr>
<td>Server $keyplus: $server[0]:$server[1]</td>
<td>$server[2]</td>
</tr>";
}
echo "
</table>";
?>
功能:使用fsockopen功能检查与各种minecraft服务器的连接
问题是:这段代码在我的本地和远程web服务器上执行的正是它应该执行的操作。但是,在我的远程服务器上,即使我知道它们已打开,状态也始终显示为“关闭”,在我的本地服务器上也显示为“打开”。我不明白为什么我的主机不能访问这些服务器,所以我希望这是一个我不知道的服务器怪癖
如何提供帮助:也许我可以使用另一种方法在php中有效地ping一个IP?或者您可能知道影响我连接的服务器设置
谢谢你的阅读和时间
~TylerTofWA删除
fsockopen
上的@
以停止抑制错误,查看远程服务器上是否抛出错误。另外,请确保设置为使用错误报告(A\u all)
显示所有错误已解决
我联系了我的托管公司,得到了以下信息:
泰勒
谢谢联系我们
你的脚本运行了大约10秒,但是
它确实运行了:
[/root]#time php-q-f/tmp/nanno
<table>
<thead>
<td>Minecraft Server Status</td>
</thead>
<tr>
<td>Server 1: 70.89.xxx.226:25565</td>
<td>DOWN</td>
</tr>
<tr>
<td>Server 2: 50.22.xxx.147:25591</td>
<td>DOWN</td>
</tr>
</table> real 0m10.071s user 0m0.047s sys 0m0.019s
Minecraft服务器状态
服务器1:70.89.xxx.226:25565
向下
服务器2:50.22.xxx.147:25591
向下
实际0m10.071s用户0m0.047s系统0m0.019s
坏消息是,你的服务器坏了。
但是,脚本的这一部分是
好的;)。。。我确实得到了:地雷船
服务器状态服务器1:
70.89.xxx.226:25565关闭服务器2:50.22.36.xxx:25591关闭
(因此它看起来像您的浏览器或http
连接在您端超时)。
除非你知道如何调整
您的脚本将降低超时时间
变量,浏览器网络超时
设置,或者如果要运行
同时使用两个FSock,您将
你有跑步时间吗
如果您有任何进一步的问题,请告诉我们
问题或担忧
问候,
------Robert C.服务器分析师II SurpassHosting.com,LLC
http://www.surmunity.com
我:谢谢你的及时回复 好吧,花了十秒钟,因为 是否有两次使用5的连接尝试 第二次暂停 问题是,他们不应该这样做 超时,我在服务器上,对吗 现在,我的本地服务器可以连接了 使用fsockopen没有问题,并且将 将它们显示为“向上” 我不明白的是为什么我的 脚本无法“查看”我的游戏服务器 从我的网络服务器 谢谢你的时间,泰勒
他们:你好,泰勒 问题已解决,您可以查看 现在是状态 谢谢 尊敬的Praveen M高级Unix管理员 SurpassHosting.com有限责任公司 http://www.surmunity.com
我不知道他们是否会告诉我问题出在哪里,我很好奇。在第一次响应时大笑。在远程服务器上,尝试使用telnet访问这些端口上的服务器。我怀疑你会发现,由于防火墙/过滤,你无法访问它们。嗯,它说它无法连接到那些IP/端口。也许我的主机公司在某种程度上阻止了连接?