^ Illuminate\Database\QueryException {#22
  #message: "SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `article`)"
  #code: 2002
  #file: "/var/www/foreachadmin/vendor/illuminate/database/Connection.php"
  #line: 712
  -previous: PDOException {#25
    #message: "SQLSTATE[HY000] [2002] Connection refused"
    #code: 2002
    #file: "/var/www/foreachadmin/vendor/illuminate/database/Connectors/Connector.php"
    #line: 70
    +errorInfo: array:3 [
      0 => "HY000"
      1 => 2002
      2 => "Connection refused"
    ]
    trace: {
      /var/www/foreachadmin/vendor/illuminate/database/Connectors/Connector.php:70 {
        Illuminate\Database\Connectors\Connector->createPdoConnection($dsn, $username, $password, $options) …
        › 
        ›     return new PDO($dsn, $username, $password, $options);
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connectors/Connector.php:100 {
        Illuminate\Database\Connectors\Connector->tryAgainIfCausedByLostConnection(Throwable $e, $dsn, $username, $password, $options) …
        › if ($this->causedByLostConnection($e)) {
        ›     return $this->createPdoConnection($dsn, $username, $password, $options);
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connectors/Connector.php:50 {
        Illuminate\Database\Connectors\Connector->createConnection($dsn, array $config, array $options) …
        › return $this->tryAgainIfCausedByLostConnection(
        ›     $e, $dsn, $username, $password, $options
        › );
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connectors/MySqlConnector.php:24 {
        Illuminate\Database\Connectors\MySqlConnector->connect(array $config) …
        › // connection's behavior, and some might be specified by the developers.
        › $connection = $this->createConnection($dsn, $config, $options);
        › 
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connectors/ConnectionFactory.php:184 {
        Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure} …
        › try {
        ›     return $this->createConnector($config)->connect($config);
        › } catch (PDOException $e) {
      }
      Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}() {}
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:1064 {
        Illuminate\Database\Connection->getPdo() …
        › if ($this->pdo instanceof Closure) {
        ›     return $this->pdo = call_user_func($this->pdo);
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:1100 {
        Illuminate\Database\Connection->getReadPdo() …
        › 
        ›     return $this->readPdo ?: $this->getPdo();
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:442 {
        Illuminate\Database\Connection->getPdoForSelect($useReadPdo = true) …
        › {
        ›     return $useReadPdo ? $this->getReadPdo() : $this->getPdo();
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:368 {
        Illuminate\Database\Connection->Illuminate\Database\{closure} …
        › $statement = $this->prepared(
        ›     $this->getPdoForSelect($useReadPdo)->prepare($query)
        › );
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:705 {
        Illuminate\Database\Connection->runQueryCallback($query, $bindings, Closure $callback) …
        › try {
        ›     return $callback($query, $bindings);
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:784 {
        Illuminate\Database\Connection->tryAgainIfCausedByLostConnection(QueryException $e, $query, $bindings, Closure $callback) …
        › 
        ›     return $this->runQueryCallback($query, $bindings, $callback);
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:764 {
        Illuminate\Database\Connection->handleQueryException(QueryException $e, $query, $bindings, Closure $callback) …
        › return $this->tryAgainIfCausedByLostConnection(
        ›     $e, $query, $bindings, $callback
        › );
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:675 {
        Illuminate\Database\Connection->run($query, $bindings, Closure $callback) …
        › $result = $this->handleQueryException(
        ›     $e, $query, $bindings, $callback
        › );
      }
      /var/www/foreachadmin/vendor/illuminate/database/Connection.php:376 {
        Illuminate\Database\Connection->select($query, $bindings = [], $useReadPdo = true) …
        ›         return $statement->fetchAll();
        ›     });
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2414 {
        Illuminate\Database\Query\Builder->runSelect() …
        › return $this->connection->select(
        ›     $this->toSql(), $this->getBindings(), ! $this->useWritePdo
        › );
      }
      /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2402 {
        Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure} …
        › return collect($this->onceWithColumns(Arr::wrap($columns), function () {
        ›     return $this->processor->processSelect($this, $this->runSelect());
        › }));
      }
      /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2936 {
        Illuminate\Database\Query\Builder->onceWithColumns($columns, $callback) …
        › 
        › $result = $callback();
        › 
      }
      /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2403 {
        Illuminate\Database\Query\Builder->get($columns = […1]) …
        ›         return $this->processor->processSelect($this, $this->runSelect());
        ›     }));
        › }
      }
      /var/www/foreachadmin/vendor/illuminate/database/Eloquent/Builder.php:625 {
        Illuminate\Database\Eloquent\Builder->getModels($columns = […1]) …
        › return $this->model->hydrate(
        ›     $this->query->get($columns)->all()
        › )->all();
      }
      /var/www/foreachadmin/vendor/illuminate/database/Eloquent/Builder.php:609 {
        Illuminate\Database\Eloquent\Builder->get($columns = […1]) …
        › // n+1 query issue for the developers to avoid running a lot of queries.
        › if (count($models = $builder->getModels($columns)) > 0) {
        ›     $models = $builder->eagerLoadRelations($models);
      }
      /var/www/foreachadmin/vendor/illuminate/database/Eloquent/Model.php:568 {
        Illuminate\Database\Eloquent\Model::all($columns = […1]) …
        › return static::query()->get(
        ›     is_array($columns) ? $columns : func_get_args()
        › );
      }
      /var/www/foreachadmin/App/Controllers/RouteController.php:101 {
        App\Controllers\RouteController->sitemap() …
        › 
        › $articles = Article::all();
        › 
      }
      /var/www/foreachadmin/App/Controllers/RouteController.php:49 {
        App\Controllers\RouteController->__construct($route = '/', $params = []) …
        › if(method_exists($this, $route)){
        ›     $this->$route();
        › }else{
      }
      /var/www/foreachadmin/program.php:56 {
        › }else{
        ›     $router = new RouteController($_GET["url"]);
        › }
      }
    }
  }
  +errorInfo: array:3 [
    0 => "HY000"
    1 => 2002
    2 => "Connection refused"
  ]
  #sql: "select * from `article`"
  #bindings: []
  trace: {
    /var/www/foreachadmin/vendor/illuminate/database/Connection.php:712 {
      Illuminate\Database\Connection->runQueryCallback($query, $bindings, Closure $callback) …
      › catch (Exception $e) {
      ›     throw new QueryException(
      ›         $query, $this->prepareBindings($bindings), $e
    }
    /var/www/foreachadmin/vendor/illuminate/database/Connection.php:784 {
      Illuminate\Database\Connection->tryAgainIfCausedByLostConnection(QueryException $e, $query, $bindings, Closure $callback) …
      › 
      ›     return $this->runQueryCallback($query, $bindings, $callback);
      › }
    }
    /var/www/foreachadmin/vendor/illuminate/database/Connection.php:764 {
      Illuminate\Database\Connection->handleQueryException(QueryException $e, $query, $bindings, Closure $callback) …
      › return $this->tryAgainIfCausedByLostConnection(
      ›     $e, $query, $bindings, $callback
      › );
    }
    /var/www/foreachadmin/vendor/illuminate/database/Connection.php:675 {
      Illuminate\Database\Connection->run($query, $bindings, Closure $callback) …
      › $result = $this->handleQueryException(
      ›     $e, $query, $bindings, $callback
      › );
    }
    /var/www/foreachadmin/vendor/illuminate/database/Connection.php:376 {
      Illuminate\Database\Connection->select($query, $bindings = [], $useReadPdo = true) …
      ›         return $statement->fetchAll();
      ›     });
      › }
    }
    /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2414 {
      Illuminate\Database\Query\Builder->runSelect() …
      › return $this->connection->select(
      ›     $this->toSql(), $this->getBindings(), ! $this->useWritePdo
      › );
    }
    /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2402 {
      Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure} …
      › return collect($this->onceWithColumns(Arr::wrap($columns), function () {
      ›     return $this->processor->processSelect($this, $this->runSelect());
      › }));
    }
    /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2936 {
      Illuminate\Database\Query\Builder->onceWithColumns($columns, $callback) …
      › 
      › $result = $callback();
      › 
    }
    /var/www/foreachadmin/vendor/illuminate/database/Query/Builder.php:2403 {
      Illuminate\Database\Query\Builder->get($columns = […1]) …
      ›         return $this->processor->processSelect($this, $this->runSelect());
      ›     }));
      › }
    }
    /var/www/foreachadmin/vendor/illuminate/database/Eloquent/Builder.php:625 {
      Illuminate\Database\Eloquent\Builder->getModels($columns = […1]) …
      › return $this->model->hydrate(
      ›     $this->query->get($columns)->all()
      › )->all();
    }
    /var/www/foreachadmin/vendor/illuminate/database/Eloquent/Builder.php:609 {
      Illuminate\Database\Eloquent\Builder->get($columns = […1]) …
      › // n+1 query issue for the developers to avoid running a lot of queries.
      › if (count($models = $builder->getModels($columns)) > 0) {
      ›     $models = $builder->eagerLoadRelations($models);
    }
    /var/www/foreachadmin/vendor/illuminate/database/Eloquent/Model.php:568 {
      Illuminate\Database\Eloquent\Model::all($columns = […1]) …
      › return static::query()->get(
      ›     is_array($columns) ? $columns : func_get_args()
      › );
    }
    /var/www/foreachadmin/App/Controllers/RouteController.php:101 {
      App\Controllers\RouteController->sitemap() …
      › 
      › $articles = Article::all();
      › 
    }
    /var/www/foreachadmin/App/Controllers/RouteController.php:49 {
      App\Controllers\RouteController->__construct($route = '/', $params = []) …
      › if(method_exists($this, $route)){
      ›     $this->$route();
      › }else{
    }
    /var/www/foreachadmin/program.php:56 {
      › }else{
      ›     $router = new RouteController($_GET["url"]);
      › }
    }
  }
}