Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在网页上显示服务器状态(打开或关闭)_Php_Status - Fatal编程技术网

Php 在网页上显示服务器状态(打开或关闭)

Php 在网页上显示服务器状态(打开或关闭),php,status,Php,Status,好奇。我开始在网上播放高中足球比赛,它使用一个程序来播放我电脑上的反馈。但是,当我关闭程序或计算机时,服务器将脱机,来宾将无法访问提要 有没有什么代码可以发布到我的网站上,告诉我的客人服务器是开着还是关着?我想这应该是一个简单的代码、一个php脚本或一些定期检查站点是否在线,然后显示on或OFF的东西。这里有两个选项,第一个是您可以请求远程服务器的响应,如果它不存在(超时后),则声明它处于脱机状态。如果响应时间比用户希望等待的时间慢,则可以缓存该请求,或者将其放入AJAX请求中,然后在失败时删除

好奇。我开始在网上播放高中足球比赛,它使用一个程序来播放我电脑上的反馈。但是,当我关闭程序或计算机时,服务器将脱机,来宾将无法访问提要


有没有什么代码可以发布到我的网站上,告诉我的客人服务器是开着还是关着?我想这应该是一个简单的代码、一个php脚本或一些定期检查站点是否在线,然后显示on或OFF的东西。

这里有两个选项,第一个是您可以请求远程服务器的响应,如果它不存在(超时后),则声明它处于脱机状态。如果响应时间比用户希望等待的时间慢,则可以缓存该请求,或者将其放入AJAX请求中,然后在失败时删除视频播放器、显示通知等


另一种方法是检查提要故障并显示服务器脱机消息

编辑:使用
@fsockopen
,否则您将收到一条
无法连接到服务器
的警告,您可以忽略该警告,因为您实际上正在尝试检查该警告

$ping = @fsockopen('myURL or IP', 80, $errno, $errstr, 10);
if (!$ping) // site is down
例如:


您可以使用PEAR包“”ping您的服务器。

我不会说这属于ServerFault,正如一位亲密的投票人所说。这是关于编程一种检测服务器是否在线的方法。动词“programming”优先于名词“server”。哈哈,谁做了一个名为“as”的标签?非常具有描述性。@darren:as实际上是一个有趣的宏交叉汇编程序。不管怎么说,我希望这就是标记的来源……如果网站是example.com,而提要服务器是feed.example.com,那么您就可以开始了。我对AJAX的引用不够详细。没有理由让AJAX脚本直接ping服务器,这可以(也应该)通过同一个域上的代理“ping”脚本来实现。嗯……我试过那个PHP脚本。我在URL部分设置了IP地址,并将端口更改为86(这是正确的端口),当我将PHP文件上传到服务器时,它会给我一个离线通知,而Google将其列为在线。我可以确认服务器已联机。我检查过了,它确认IP/端口可以运行。我尝试了许多其他类似于上面的PHP脚本,但它们仍然给我一个脱机错误。知道我做错了什么吗?
<?php
$URL = 'randomurlfortestingpurposes.com';
$ping = @fsockopen ($URL, 80, $errno, $errstr, 10);
(!$ping) ? $status = $URL.' is down' : $status = $URL.' is up';

echo $status.'<br>';

$URL = 'google.com';
$ping = @fsockopen ($URL, 80, $errno, $errstr, 10);
(!$ping) ? $status = $URL.' is down' : $status = $URL.' is up';

echo $status;
?>
randomurlfortestingpurposes.com is down
google.com is up