【问题标题】:How to Check If the System is Down in Laravel如何在 Laravel 中检查系统是否关闭
【发布时间】:2018-06-18 17:55:09
【问题描述】:

我想检查系统是否宕机

<?php
   ini_set("default_socket_timeout","05");
   set_time_limit(5);
   $f=fopen("https://stackoverflow.com/questions/ask","r");
   $r=fread($f,1000);
   fclose($f);
   if(strlen($r)>1) {
   echo("<span class='online'>Up</span>");
   }
   else {
   echo("<span class='offline'>Down</span>");
   }
?>

上面的代码只显示 url 是否可用 如果系统提供此错误,我还想显示 Down

致命错误:带有消息的未捕获异常“PDOException” 'SQLSTATE [28000] [1045] 用户'root'@'localhost'的访问被拒绝 (使用密码:YES)'在

【问题讨论】:

  • 错误信息非常明显...您无法连接到您的数据库
  • 问题和显示的错误无关。您的代码片段中没有数据库代码。
  • 是的,我理解错误我想要得到的消息系统已关闭,因为上面的代码说如果我把有错误的系统放在系统上

标签: php


【解决方案1】:

先获取url内容,然后检查内容是否存在错误:

$content = file_get_contents("https://stackoverflow.com/questions/ask");

if (strpos($content, 'Fatal error') !== false) {
    echo("<span class='offline'>Down</span>");
}

【讨论】:

  • 如果我想检查多个网址怎么办?
【解决方案2】:

这个问题之前已经在 StackOverflow 中回答过:

使用套接字: https://stackoverflow.com/a/9817077/1264260

使用卷曲: https://stackoverflow.com/a/9817116/1264260

顺便说一句,您提到的错误与问题无关。您的数据库详细信息有误。

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 2014-08-24
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    相关资源
    最近更新 更多