我想要检查我的服务器Ubuntu Server 14.04 LTS在我的共享主机服务器上是否在线。我的服务器有IP而不是域名,但我的共享主机服务器有域名。为此,我在共享主机服务器上使用了以下代码来检查我的服务器是否在线。
<?php
$site = "XX.XX.XX.XX";
$port = 7550;
$fp = fsockopen($site,$port,$errno,$errstr,10);
if ($fp === false) {
print($errno." : ".$errstr);
}
if(!$fp)
{
echo "SERVER IS DOWN";
}
else
{
echo "SERVER IS UP ON PORT ".$port." AT ".$site;
fclose($fp);
}
?>
在我的共享托管服务器php文件中添加上述代码后,运行它时我遇到了以下错误。
警告:fsockopen():无法连接到XX.XX.XX.XX:7550(连接超时),位于/home/USERNAME/public_html/index.php的第4110行:连接超时,服务器已停止
现在有人告诉我检查我的共享托管服务器上是否打开了allow_url_fopen = On,然后我检查了我的共享托管服务器php.ini文件,发现它已经打开了。
现在当我四处寻找帮助时,其他人告诉我要检查两个服务器(我的共享托管服务器和我的服务器)是否都开启了fsockopen()。然后我在一个php文件中编写了以下代码,并在两个服务器上运行。
<?php
$fp = fsockopen ("localhost", 80, $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)
\n";
}else
{
echo "fsockopen Is Working Perfectly.";
}
fclose ($fp);
?>
在两个服务器上运行上述的.php文件后,我得到了以下相同的结果。
重要提示:请注意,我的服务器IP仍然处于活动状态,因为我正在使用该IP上的多台电脑,但我的服务器已关闭。此外,我可以使用代理在Web浏览器中打开http://XX.XX.XX.XX:7550。
http://XX.XX.XX.XX:7550
。 - Muhammad Hassan