私が見逃している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,$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 サーバーとリモート Web サーバーの両方で実行するはずのことを正確に実行します。ただし、リモート サーバーでは、UP であることがわかっている場合でもステータスは常に DOWN と表示され、ローカル サーバーでも UP と表示されます。私のホストがこれらのサーバーにアクセスできない理由がわからないので、私が知らないサーバーの癖であることを願っています。
どのようにあなたが助けることができるか: 私が使用できる php で IP を効果的に ping する別の方法があるでしょうか? または、私の接続に影響を与えているサーバー設定を知っているかもしれません。
読んでくれてありがとう〜TylerTofWA