php - 我在 PHP 中有一个问题来检查标题
问题描述
我试图在 PHP 中创建仪表板我遇到了变量问题
第一个工作正常,但可以让第二个工作。说它已关闭 - 我知道它已启动并正在运行
有任何想法吗?
echo "Dashboard as at: " . date("Y-m-d") . "<br>";
echo " " . date("h:i:sa") . "<br>";
##########################
$url = "http://www.google.com.au";
$headers = @get_headers($url);
if($headers && strpos( $headers[0], '200')) {
$status = "$url is up";
$Color = "#00ff00";
$Title = "$url";
}
else {
$status = "$url is down";
$Color = "#FF0000";
$Title = "$url is down";
}
#############################
$url1 = "http://www.yahoo.com";
$headers1 = @get_headers($url1);
if($headers1 && strpos( $headers1[0], '200')) {
$status1 = "$url1 is up";
$Color1 = "#00ff00";
$Title1 = "$url1";
}
else {
$status1 = "$url1 is down";
$Color1 = "#FF0000";
$Title1 = "$url1 is down";
}
#####################
echo "<br/><br/>";
echo "<table border=\"1\">";
echo "<th>API PROD Environment</th>";
echo "<tr>";
echo "<td BGCOLOR=$Color title=$status><a href=$url>$status</a></td>";
echo "</tr>";
echo "<tr>";
echo "<td BGCOLOR=$Color1 title=$status1><a href=$url1>$status1</a></td>";
echo "</tr>";```
解决方案
对于您的情况,网址“http://yahoo.com”将被重定向到本地 yahoo 服务器,因此实际上 headers[0] 将返回 301 而不是 200(但实际上从这个角度来看,如果您认为您的代码是正确的重定向为原始网址中的“关闭”状态)
因此,依靠包含 200 的 headers[0] 来确定服务器是否启动/关闭可能会遇到您遇到的问题,例如带有重定向的问题。
解决方案之一是仅使用标头返回(完全关闭的服务器(或不存在的服务器)不会返回任何内容):
<?php
echo "Dashboard as at: " . date("Y-m-d") . "<br>";
echo " " . date("h:i:sa") . "<br>";
$url = "http://www.google.om.au";
$headers = @get_headers($url);
if($headers) {
$status = "$url is up";
$Color = "#00ff00";
$Title = "$url";
}
else {
$status = "$url is down";
$Color = "#FF0000";
$Title = "$url is down";
}
$url1 = "http://yahoo.com";
$headers1 = @get_headers($url1);
if($headers1) {
$status1 = "$url1 is up";
$Color1 = "#00ff00";
$Title1 = "$url1";
}
else {
$status1 = "$url1 is down";
$Color1 = "#FF0000";
$Title1 = "$url1 is down";
}
echo $status;
echo "<br>";
echo $status1;
echo "<br>";
?>
推荐阅读
- ssas - MDX:过滤掉零值
- python - 如何在 SPARQL 本体查询中使用 python 变量?
- java - 如何在android webview中实现onback()的进度条
- laravel - 在 Laravel 的模板中未加载 CSS 和 JS
- flutter - 如何在appbar底部定位线性进度条?
- javascript - 使用 Ramda,你如何组合二进制函数?
- puppeteer-sharp - 是否可以使用 puppeteeter sharp 将部分网页转换为 PDF?
- swift - 用于时间序列分析的 Core ML
- vb.net - 3d坐标系中两点之间的间距
- python - 使用 psycopg2 复制到带有 ARRAY INT 列的表