Illuminate \ Database \ QueryException (2002)
SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `e_manager_power`)
Previous exceptions
  • SQLSTATE[HY000] [2002] Connection refused (2002)
  • Illuminate\Database\QueryException thrown with message "SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `e_manager_power`)" Stacktrace: #36 Illuminate\Database\QueryException in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 #35 Illuminate\Foundation\Application:Illuminate\Foundation\{closure} in [internal]:0 #34 PDOException in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 #33 PDO:__construct in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 #32 Illuminate\Database\Connectors\Connector:createPdoConnection in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:46 #31 Illuminate\Database\Connectors\Connector:createConnection in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php:24 #30 Illuminate\Database\Connectors\MySqlConnector:connect in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php:182 #29 Illuminate\Database\Connectors\ConnectionFactory:Illuminate\Database\Connectors\{closure} in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:916 #28 call_user_func in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:916 #27 Illuminate\Database\Connection:getPdo in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:941 #26 Illuminate\Database\Connection:getReadPdo in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:399 #25 Illuminate\Database\Connection:getPdoForSelect in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:325 #24 Illuminate\Database\Connection:Illuminate\Database\{closure} in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:657 #23 Illuminate\Database\Connection:runQueryCallback in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:624 #22 Illuminate\Database\Connection:run in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php:333 #21 Illuminate\Database\Connection:select in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2062 #20 Illuminate\Database\Query\Builder:runSelect in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2050 #19 Illuminate\Database\Query\Builder:Illuminate\Database\Query\{closure} in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2536 #18 Illuminate\Database\Query\Builder:onceWithColumns in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2051 #17 Illuminate\Database\Query\Builder:get in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:516 #16 Illuminate\Database\Eloquent\Builder:getModels in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:500 #15 Illuminate\Database\Eloquent\Builder:get in /home/wwwroot/hengv.com/app/Providers/AuthServiceProvider.php:28 #14 App\Providers\AuthServiceProvider:boot in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29 #13 call_user_func_array in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29 #12 Illuminate\Container\BoundMethod:Illuminate\Container\{closure} in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87 #11 Illuminate\Container\BoundMethod:callBoundMethod in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31 #10 Illuminate\Container\BoundMethod:call in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Container/Container.php:572 #9 Illuminate\Container\Container:call in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:795 #8 Illuminate\Foundation\Application:bootProvider in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:778 #7 Illuminate\Foundation\Application:Illuminate\Foundation\{closure} in [internal]:0 #6 array_walk in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:779 #5 Illuminate\Foundation\Application:boot in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 #4 Illuminate\Foundation\Bootstrap\BootProviders:bootstrap in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:204 #3 Illuminate\Foundation\Application:bootstrapWith in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:162 #2 Illuminate\Foundation\Http\Kernel:bootstrap in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:146 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /home/wwwroot/hengv.com/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 #0 Illuminate\Foundation\Http\Kernel:handle in /home/wwwroot/hengv.com/public/index.php:58
    36
    Illuminate
    \
    Database
    \
    QueryException
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    664
    35
    Illuminate
    \
    Foundation
    \
    Application
    Illuminate
    \
    Foundation
    \
    {closure}
    [internal]
    0
    34
    PDOException
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    Connector.php
    70
    33
    PDO
    __construct
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    Connector.php
    70
    32
    Illuminate
    \
    Database
    \
    Connectors
    \
    Connector
    createPdoConnection
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    Connector.php
    46
    31
    Illuminate
    \
    Database
    \
    Connectors
    \
    Connector
    createConnection
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    MySqlConnector.php
    24
    30
    Illuminate
    \
    Database
    \
    Connectors
    \
    MySqlConnector
    connect
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    ConnectionFactory.php
    182
    29
    Illuminate
    \
    Database
    \
    Connectors
    \
    ConnectionFactory
    Illuminate
    \
    Database
    \
    Connectors
    \
    {closure}
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    916
    28
    call_user_func
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    916
    27
    Illuminate
    \
    Database
    \
    Connection
    getPdo
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    941
    26
    Illuminate
    \
    Database
    \
    Connection
    getReadPdo
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    399
    25
    Illuminate
    \
    Database
    \
    Connection
    getPdoForSelect
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    325
    24
    Illuminate
    \
    Database
    \
    Connection
    Illuminate
    \
    Database
    \
    {closure}
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    657
    23
    Illuminate
    \
    Database
    \
    Connection
    runQueryCallback
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    624
    22
    Illuminate
    \
    Database
    \
    Connection
    run
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
    333
    21
    Illuminate
    \
    Database
    \
    Connection
    select
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
    2062
    20
    Illuminate
    \
    Database
    \
    Query
    \
    Builder
    runSelect
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
    2050
    19
    Illuminate
    \
    Database
    \
    Query
    \
    Builder
    Illuminate
    \
    Database
    \
    Query
    \
    {closure}
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
    2536
    18
    Illuminate
    \
    Database
    \
    Query
    \
    Builder
    onceWithColumns
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
    2051
    17
    Illuminate
    \
    Database
    \
    Query
    \
    Builder
    get
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Eloquent
    /
    Builder.php
    516
    16
    Illuminate
    \
    Database
    \
    Eloquent
    \
    Builder
    getModels
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Eloquent
    /
    Builder.php
    500
    15
    Illuminate
    \
    Database
    \
    Eloquent
    \
    Builder
    get
    /
    app
    /
    Providers
    /
    AuthServiceProvider.php
    28
    14
    App
    \
    Providers
    \
    AuthServiceProvider
    boot
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
    29
    13
    call_user_func_array
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
    29
    12
    Illuminate
    \
    Container
    \
    BoundMethod
    Illuminate
    \
    Container
    \
    {closure}
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
    87
    11
    Illuminate
    \
    Container
    \
    BoundMethod
    callBoundMethod
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
    31
    10
    Illuminate
    \
    Container
    \
    BoundMethod
    call
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    Container.php
    572
    9
    Illuminate
    \
    Container
    \
    Container
    call
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
    795
    8
    Illuminate
    \
    Foundation
    \
    Application
    bootProvider
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
    778
    7
    Illuminate
    \
    Foundation
    \
    Application
    Illuminate
    \
    Foundation
    \
    {closure}
    [internal]
    0
    6
    array_walk
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
    779
    5
    Illuminate
    \
    Foundation
    \
    Application
    boot
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Bootstrap
    /
    BootProviders.php
    17
    4
    Illuminate
    \
    Foundation
    \
    Bootstrap
    \
    BootProviders
    bootstrap
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
    204
    3
    Illuminate
    \
    Foundation
    \
    Application
    bootstrapWith
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Http
    /
    Kernel.php
    162
    2
    Illuminate
    \
    Foundation
    \
    Http
    \
    Kernel
    bootstrap
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Http
    /
    Kernel.php
    146
    1
    Illuminate
    \
    Foundation
    \
    Http
    \
    Kernel
    sendRequestThroughRouter
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Http
    /
    Kernel.php
    116
    0
    Illuminate
    \
    Foundation
    \
    Http
    \
    Kernel
    handle
    /
    public
    /
    index.php
    58
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
         * @param  array     $bindings
         * @param  \Closure  $callback
         * @return mixed
         *
         * @throws \Illuminate\Database\QueryException
         */
        protected function runQueryCallback($query, $bindings, Closure $callback)
        {
            // To execute the statement, we'll simply call the callback, which will actually
            // run the SQL against the PDO connection. Then we can calculate the time it
            // took to execute and log the query SQL, bindings and time in our memory.
            try {
                $result = $callback($query, $bindings);
            }
     
            // If an exception occurs when attempting to run a query, we'll format the error
            // message to include the bindings with SQL, which will make this exception a
            // lot more helpful to the developer instead of just the database's errors.
            catch (Exception $e) {
                throw new QueryException(
                    $query, $this->prepareBindings($bindings), $e
                );
            }
     
            return $result;
        }
     
        /**
         * Log a query in the connection's query log.
         *
         * @param  string  $query
         * @param  array   $bindings
         * @param  float|null  $time
         * @return void
         */
        public function logQuery($query, $bindings, $time = null)
        {
            $this->event(new QueryExecuted($query, $bindings, $time, $this));
     
            if ($this->loggingQueries) {
    Arguments
    1. "SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `e_manager_power`)"
      
    [internal]
    Arguments
    1. AuthServiceProvider {#213}
      
    2. 22
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    Connector.php
                );
            }
        }
     
        /**
         * Create a new PDO connection instance.
         *
         * @param  string  $dsn
         * @param  string  $username
         * @param  string  $password
         * @param  array  $options
         * @return \PDO
         */
        protected function createPdoConnection($dsn, $username, $password, $options)
        {
            if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
                return new PDOConnection($dsn, $username, $password, $options);
            }
     
            return new PDO($dsn, $username, $password, $options);
        }
     
        /**
         * Determine if the connection is persistent.
         *
         * @param  array  $options
         * @return bool
         */
        protected function isPersistentConnection($options)
        {
            return isset($options[PDO::ATTR_PERSISTENT]) &&
                   $options[PDO::ATTR_PERSISTENT];
        }
     
        /**
         * Handle an exception that occurred during connect execution.
         *
         * @param  \Throwable  $e
         * @param  string  $dsn
         * @param  string  $username
    Arguments
    1. "SQLSTATE[HY000] [2002] Connection refused"
      
    Exception message: SQLSTATE[HY000] [2002] Connection refused
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    Connector.php
                );
            }
        }
     
        /**
         * Create a new PDO connection instance.
         *
         * @param  string  $dsn
         * @param  string  $username
         * @param  string  $password
         * @param  array  $options
         * @return \PDO
         */
        protected function createPdoConnection($dsn, $username, $password, $options)
        {
            if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
                return new PDOConnection($dsn, $username, $password, $options);
            }
     
            return new PDO($dsn, $username, $password, $options);
        }
     
        /**
         * Determine if the connection is persistent.
         *
         * @param  array  $options
         * @return bool
         */
        protected function isPersistentConnection($options)
        {
            return isset($options[PDO::ATTR_PERSISTENT]) &&
                   $options[PDO::ATTR_PERSISTENT];
        }
     
        /**
         * Handle an exception that occurred during connect execution.
         *
         * @param  \Throwable  $e
         * @param  string  $dsn
         * @param  string  $username
    Arguments
    1. "mysql:host=127.0.0.1;port=3306;dbname=hengv.com"
      
    2. "hengv.com"
      
    3. "hengv.com"
      
    4. array:5 [
        8 => 0
        3 => 2
        11 => 0
        17 => false
        20 => false
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    Connector.php
     
        /**
         * Create a new PDO connection.
         *
         * @param  string  $dsn
         * @param  array   $config
         * @param  array   $options
         * @return \PDO
         *
         * @throws \Exception
         */
        public function createConnection($dsn, array $config, array $options)
        {
            [$username, $password] = [
                $config['username'] ?? null, $config['password'] ?? null,
            ];
     
            try {
                return $this->createPdoConnection(
                    $dsn, $username, $password, $options
                );
            } catch (Exception $e) {
                return $this->tryAgainIfCausedByLostConnection(
                    $e, $dsn, $username, $password, $options
                );
            }
        }
     
        /**
         * Create a new PDO connection instance.
         *
         * @param  string  $dsn
         * @param  string  $username
         * @param  string  $password
         * @param  array  $options
         * @return \PDO
         */
        protected function createPdoConnection($dsn, $username, $password, $options)
        {
            if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
    Arguments
    1. "mysql:host=127.0.0.1;port=3306;dbname=hengv.com"
      
    2. "hengv.com"
      
    3. "hengv.com"
      
    4. array:5 [
        8 => 0
        3 => 2
        11 => 0
        17 => false
        20 => false
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    MySqlConnector.php
    use PDO;
     
    class MySqlConnector extends Connector implements ConnectorInterface
    {
        /**
         * Establish a database connection.
         *
         * @param  array  $config
         * @return \PDO
         */
        public function connect(array $config)
        {
            $dsn = $this->getDsn($config);
     
            $options = $this->getOptions($config);
     
            // We need to grab the PDO options that should be used while making the brand
            // new connection instance. The PDO options control various aspects of the
            // connection's behavior, and some might be specified by the developers.
            $connection = $this->createConnection($dsn, $config, $options);
     
            if (! empty($config['database'])) {
                $connection->exec("use `{$config['database']}`;");
            }
     
            $this->configureEncoding($connection, $config);
     
            // Next, we will check to see if a timezone has been specified in this config
            // and if it has we will issue a statement to modify the timezone with the
            // database. Setting this DB timezone is an optional configuration item.
            $this->configureTimezone($connection, $config);
     
            $this->setModes($connection, $config);
     
            return $connection;
        }
     
        /**
         * Set the connection character set and collation.
         *
    Arguments
    1. "mysql:host=127.0.0.1;port=3306;dbname=hengv.com"
      
    2. array:13 [
        "driver" => "mysql"
        "host" => "127.0.0.1"
        "port" => "3306"
        "database" => "hengv.com"
        "username" => "hengv.com"
        "password" => "hengv.com"
        "unix_socket" => ""
        "charset" => "utf8mb4"
        "collation" => "utf8mb4_unicode_ci"
        "prefix" => "e_"
        "strict" => true
        "engine" => null
        "name" => "mysql"
      ]
      
    3. array:5 [
        8 => 0
        3 => 2
        11 => 0
        17 => false
        20 => false
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connectors
    /
    ConnectionFactory.php
        {
            return array_key_exists('host', $config)
                                ? $this->createPdoResolverWithHosts($config)
                                : $this->createPdoResolverWithoutHosts($config);
        }
     
        /**
         * Create a new Closure that resolves to a PDO instance with a specific host or an array of hosts.
         *
         * @param  array  $config
         * @return \Closure
         */
        protected function createPdoResolverWithHosts(array $config)
        {
            return function () use ($config) {
                foreach (Arr::shuffle($hosts = $this->parseHosts($config)) as $key => $host) {
                    $config['host'] = $host;
     
                    try {
                        return $this->createConnector($config)->connect($config);
                    } catch (PDOException $e) {
                        continue;
                    }
                }
     
                throw $e;
            };
        }
     
        /**
         * Parse the hosts configuration item into an array.
         *
         * @param  array  $config
         * @return array
         */
        protected function parseHosts(array $config)
        {
            $hosts = Arr::wrap($config['host']);
     
            if (empty($hosts)) {
    Arguments
    1. array:13 [
        "driver" => "mysql"
        "host" => "127.0.0.1"
        "port" => "3306"
        "database" => "hengv.com"
        "username" => "hengv.com"
        "password" => "hengv.com"
        "unix_socket" => ""
        "charset" => "utf8mb4"
        "collation" => "utf8mb4_unicode_ci"
        "prefix" => "e_"
        "strict" => true
        "engine" => null
        "name" => "mysql"
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
     
                $this->doctrineConnection = new DoctrineConnection([
                    'pdo' => $this->getPdo(),
                    'dbname' => $this->getConfig('database'),
                    'driver' => $driver->getName(),
                ], $driver);
            }
     
            return $this->doctrineConnection;
        }
     
        /**
         * Get the current PDO connection.
         *
         * @return \PDO
         */
        public function getPdo()
        {
            if ($this->pdo instanceof Closure) {
                return $this->pdo = call_user_func($this->pdo);
            }
     
            return $this->pdo;
        }
     
        /**
         * Get the current PDO connection used for reading.
         *
         * @return \PDO
         */
        public function getReadPdo()
        {
            if ($this->transactions > 0) {
                return $this->getPdo();
            }
     
            if ($this->recordsModified && $this->getConfig('sticky')) {
                return $this->getPdo();
            }
     
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
     
                $this->doctrineConnection = new DoctrineConnection([
                    'pdo' => $this->getPdo(),
                    'dbname' => $this->getConfig('database'),
                    'driver' => $driver->getName(),
                ], $driver);
            }
     
            return $this->doctrineConnection;
        }
     
        /**
         * Get the current PDO connection.
         *
         * @return \PDO
         */
        public function getPdo()
        {
            if ($this->pdo instanceof Closure) {
                return $this->pdo = call_user_func($this->pdo);
            }
     
            return $this->pdo;
        }
     
        /**
         * Get the current PDO connection used for reading.
         *
         * @return \PDO
         */
        public function getReadPdo()
        {
            if ($this->transactions > 0) {
                return $this->getPdo();
            }
     
            if ($this->recordsModified && $this->getConfig('sticky')) {
                return $this->getPdo();
            }
     
    Arguments
    1. Closure() {#289 …5}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
        /**
         * Get the current PDO connection used for reading.
         *
         * @return \PDO
         */
        public function getReadPdo()
        {
            if ($this->transactions > 0) {
                return $this->getPdo();
            }
     
            if ($this->recordsModified && $this->getConfig('sticky')) {
                return $this->getPdo();
            }
     
            if ($this->readPdo instanceof Closure) {
                return $this->readPdo = call_user_func($this->readPdo);
            }
     
            return $this->readPdo ?: $this->getPdo();
        }
     
        /**
         * Set the PDO connection.
         *
         * @param  \PDO|\Closure|null  $pdo
         * @return $this
         */
        public function setPdo($pdo)
        {
            $this->transactions = 0;
     
            $this->pdo = $pdo;
     
            return $this;
        }
     
        /**
         * Set the PDO connection used for reading.
         *
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
        protected function prepared(PDOStatement $statement)
        {
            $statement->setFetchMode($this->fetchMode);
     
            $this->event(new Events\StatementPrepared(
                $this, $statement
            ));
     
            return $statement;
        }
     
        /**
         * Get the PDO connection to use for a select query.
         *
         * @param  bool  $useReadPdo
         * @return \PDO
         */
        protected function getPdoForSelect($useReadPdo = true)
        {
            return $useReadPdo ? $this->getReadPdo() : $this->getPdo();
        }
     
        /**
         * Run an insert statement against the database.
         *
         * @param  string  $query
         * @param  array   $bindings
         * @return bool
         */
        public function insert($query, $bindings = [])
        {
            return $this->statement($query, $bindings);
        }
     
        /**
         * Run an update statement against the database.
         *
         * @param  string  $query
         * @param  array   $bindings
         * @return int
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
     
        /**
         * Run a select statement against the database.
         *
         * @param  string  $query
         * @param  array  $bindings
         * @param  bool  $useReadPdo
         * @return array
         */
        public function select($query, $bindings = [], $useReadPdo = true)
        {
            return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
                if ($this->pretending()) {
                    return [];
                }
     
                // For select statements, we'll simply execute the query and return an array
                // of the database result set. Each element in the array will be a single
                // row from the database table, and will either be an array or objects.
                $statement = $this->prepared($this->getPdoForSelect($useReadPdo)
                                  ->prepare($query));
     
                $this->bindValues($statement, $this->prepareBindings($bindings));
     
                $statement->execute();
     
                return $statement->fetchAll();
            });
        }
     
        /**
         * Run a select statement against the database and returns a generator.
         *
         * @param  string  $query
         * @param  array  $bindings
         * @param  bool  $useReadPdo
         * @return \Generator
         */
        public function cursor($query, $bindings = [], $useReadPdo = true)
        {
    Arguments
    1. true
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
            return $result;
        }
     
        /**
         * Run a SQL statement.
         *
         * @param  string    $query
         * @param  array     $bindings
         * @param  \Closure  $callback
         * @return mixed
         *
         * @throws \Illuminate\Database\QueryException
         */
        protected function runQueryCallback($query, $bindings, Closure $callback)
        {
            // To execute the statement, we'll simply call the callback, which will actually
            // run the SQL against the PDO connection. Then we can calculate the time it
            // took to execute and log the query SQL, bindings and time in our memory.
            try {
                $result = $callback($query, $bindings);
            }
     
            // If an exception occurs when attempting to run a query, we'll format the error
            // message to include the bindings with SQL, which will make this exception a
            // lot more helpful to the developer instead of just the database's errors.
            catch (Exception $e) {
                throw new QueryException(
                    $query, $this->prepareBindings($bindings), $e
                );
            }
     
            return $result;
        }
     
        /**
         * Log a query in the connection's query log.
         *
         * @param  string  $query
         * @param  array   $bindings
         * @param  float|null  $time
    Arguments
    1. "select * from `e_manager_power`"
      
    2. []
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
         * Run a SQL statement and log its execution context.
         *
         * @param  string    $query
         * @param  array     $bindings
         * @param  \Closure  $callback
         * @return mixed
         *
         * @throws \Illuminate\Database\QueryException
         */
        protected function run($query, $bindings, Closure $callback)
        {
            $this->reconnectIfMissingConnection();
     
            $start = microtime(true);
     
            // Here we will run this query. If an exception occurs we'll determine if it was
            // caused by a connection that has been lost. If that is the cause, we'll try
            // to re-establish connection and re-run the query with a fresh connection.
            try {
                $result = $this->runQueryCallback($query, $bindings, $callback);
            } catch (QueryException $e) {
                $result = $this->handleQueryException(
                    $e, $query, $bindings, $callback
                );
            }
     
            // Once we have run the query we will calculate the time that it took to run and
            // then log the query, bindings, and execution time so we will report them on
            // the event that the developer needs them. We'll log time in milliseconds.
            $this->logQuery(
                $query, $bindings, $this->getElapsedTime($start)
            );
     
            return $result;
        }
     
        /**
         * Run a SQL statement.
         *
         * @param  string    $query
    Arguments
    1. "select * from `e_manager_power`"
      
    2. []
      
    3. Closure($query, $bindings) {#330 …6}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Connection.php
         */
        public function select($query, $bindings = [], $useReadPdo = true)
        {
            return $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
                if ($this->pretending()) {
                    return [];
                }
     
                // For select statements, we'll simply execute the query and return an array
                // of the database result set. Each element in the array will be a single
                // row from the database table, and will either be an array or objects.
                $statement = $this->prepared($this->getPdoForSelect($useReadPdo)
                                  ->prepare($query));
     
                $this->bindValues($statement, $this->prepareBindings($bindings));
     
                $statement->execute();
     
                return $statement->fetchAll();
            });
        }
     
        /**
         * Run a select statement against the database and returns a generator.
         *
         * @param  string  $query
         * @param  array  $bindings
         * @param  bool  $useReadPdo
         * @return \Generator
         */
        public function cursor($query, $bindings = [], $useReadPdo = true)
        {
            $statement = $this->run($query, $bindings, function ($query, $bindings) use ($useReadPdo) {
                if ($this->pretending()) {
                    return [];
                }
     
                // First we will create a statement for the query. Then, we will set the fetch
                // mode and prepare the bindings for the query. Once that's done we will be
                // ready to execute the query against the database and return the cursor.
    Arguments
    1. "select * from `e_manager_power`"
      
    2. []
      
    3. Closure($query, $bindings) {#330 …6}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
         *
         * @param  array  $columns
         * @return \Illuminate\Support\Collection
         */
        public function get($columns = ['*'])
        {
            return collect($this->onceWithColumns($columns, function () {
                return $this->processor->processSelect($this, $this->runSelect());
            }));
        }
     
        /**
         * Run the query as a "select" statement against the connection.
         *
         * @return array
         */
        protected function runSelect()
        {
            return $this->connection->select(
                $this->toSql(), $this->getBindings(), ! $this->useWritePdo
            );
        }
     
        /**
         * Paginate the given query into a simple paginator.
         *
         * @param  int  $perPage
         * @param  array  $columns
         * @param  string  $pageName
         * @param  int|null  $page
         * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
         */
        public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null)
        {
            $page = $page ?: Paginator::resolveCurrentPage($pageName);
     
            $total = $this->getCountForPagination($columns);
     
            $results = $total ? $this->forPage($page, $perPage)->get($columns) : collect();
     
    Arguments
    1. "select * from `e_manager_power`"
      
    2. []
      
    3. true
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
         * @param  string  $column
         * @return mixed
         */
        public function value($column)
        {
            $result = (array) $this->first([$column]);
     
            return count($result) > 0 ? reset($result) : null;
        }
     
        /**
         * Execute the query as a "select" statement.
         *
         * @param  array  $columns
         * @return \Illuminate\Support\Collection
         */
        public function get($columns = ['*'])
        {
            return collect($this->onceWithColumns($columns, function () {
                return $this->processor->processSelect($this, $this->runSelect());
            }));
        }
     
        /**
         * Run the query as a "select" statement against the connection.
         *
         * @return array
         */
        protected function runSelect()
        {
            return $this->connection->select(
                $this->toSql(), $this->getBindings(), ! $this->useWritePdo
            );
        }
     
        /**
         * Paginate the given query into a simple paginator.
         *
         * @param  int  $perPage
         * @param  array  $columns
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
        }
     
        /**
         * Execute the given callback while selecting the given columns.
         *
         * After running the callback, the columns are reset to the original value.
         *
         * @param  array  $columns
         * @param  callable  $callback
         * @return mixed
         */
        protected function onceWithColumns($columns, $callback)
        {
            $original = $this->columns;
     
            if (is_null($original)) {
                $this->columns = $columns;
            }
     
            $result = $callback();
     
            $this->columns = $original;
     
            return $result;
        }
     
        /**
         * Insert a new record into the database.
         *
         * @param  array  $values
         * @return bool
         */
        public function insert(array $values)
        {
            // Since every insert gets treated like a batch insert, we will make sure the
            // bindings are structured in a way that is convenient when building these
            // inserts statements by verifying these elements are actually an array.
            if (empty($values)) {
                return true;
            }
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Query
    /
    Builder.php
         * @return mixed
         */
        public function value($column)
        {
            $result = (array) $this->first([$column]);
     
            return count($result) > 0 ? reset($result) : null;
        }
     
        /**
         * Execute the query as a "select" statement.
         *
         * @param  array  $columns
         * @return \Illuminate\Support\Collection
         */
        public function get($columns = ['*'])
        {
            return collect($this->onceWithColumns($columns, function () {
                return $this->processor->processSelect($this, $this->runSelect());
            }));
        }
     
        /**
         * Run the query as a "select" statement against the connection.
         *
         * @return array
         */
        protected function runSelect()
        {
            return $this->connection->select(
                $this->toSql(), $this->getBindings(), ! $this->useWritePdo
            );
        }
     
        /**
         * Paginate the given query into a simple paginator.
         *
         * @param  int  $perPage
         * @param  array  $columns
         * @param  string  $pageName
    Arguments
    1. array:1 [
        0 => "*"
      ]
      
    2. Closure() {#319 …4}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Eloquent
    /
    Builder.php
            // If we actually found models we will also eager load any relationships that
            // have been specified as needing to be eager loaded, which will solve the
            // 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);
            }
     
            return $builder->getModel()->newCollection($models);
        }
     
        /**
         * Get the hydrated models without eager loading.
         *
         * @param  array  $columns
         * @return \Illuminate\Database\Eloquent\Model[]|static[]
         */
        public function getModels($columns = ['*'])
        {
            return $this->model->hydrate(
                $this->query->get($columns)->all()
            )->all();
        }
     
        /**
         * Eager load the relationships for the models.
         *
         * @param  array  $models
         * @return array
         */
        public function eagerLoadRelations(array $models)
        {
            foreach ($this->eagerLoad as $name => $constraints) {
                // For nested eager loads we'll skip loading them here and they will be set as an
                // eager load on the query to retrieve the relation so that they will be eager
                // loaded on that query, because that is where they get hydrated as models.
                if (strpos($name, '.') === false) {
                    $models = $this->eagerLoadRelation($models, $name, $constraints);
                }
            }
     
    Arguments
    1. array:1 [
        0 => "*"
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Database
    /
    Eloquent
    /
    Builder.php
        {
            if ($result = $this->first([$column])) {
                return $result->{$column};
            }
        }
     
        /**
         * Execute the query as a "select" statement.
         *
         * @param  array  $columns
         * @return \Illuminate\Database\Eloquent\Collection|static[]
         */
        public function get($columns = ['*'])
        {
            $builder = $this->applyScopes();
     
            // If we actually found models we will also eager load any relationships that
            // have been specified as needing to be eager loaded, which will solve the
            // 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);
            }
     
            return $builder->getModel()->newCollection($models);
        }
     
        /**
         * Get the hydrated models without eager loading.
         *
         * @param  array  $columns
         * @return \Illuminate\Database\Eloquent\Model[]|static[]
         */
        public function getModels($columns = ['*'])
        {
            return $this->model->hydrate(
                $this->query->get($columns)->all()
            )->all();
        }
     
        /**
    Arguments
    1. array:1 [
        0 => "*"
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    app
    /
    Providers
    /
    AuthServiceProvider.php
    {
        /**
         * The policy mappings for the application.
         *
         * @var array
         */
        protected $policies = [
            'App\Model' => 'App\Policies\ModelPolicy',
        ];
     
        /**
         * Register any authentication / authorization services.
         *
         * @return void
         */
        public function boot()
        {
     
            $this->registerPolicies();
            $powers = \App\Models\ManagerPower::with('roles')->get();//得到所有权限列表
            foreach($powers as $power){//对每一个权限使用Gate进行注册,判断用户是否拥有此权限
                Gate::define($power->name, function ($user) use($power){
                    /*$is_admin = $user->roles()->where('name','=','超级管理员')->first();
                    if($is_admin){
                        return true;
                    }*/
                    //return false;
                    return $user->hasPower($power);
                });
            }
     
            //
        }
    }
     
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
    class BoundMethod
    {
        /**
         * Call the given Closure / class@method and inject its dependencies.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  callable|string  $callback
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         */
        public static function call($container, $callback, array $parameters = [], $defaultMethod = null)
        {
            if (static::isCallableWithAtSign($callback) || $defaultMethod) {
                return static::callClass($container, $callback, $parameters, $defaultMethod);
            }
     
            return static::callBoundMethod($container, $callback, function () use ($container, $callback, $parameters) {
                return call_user_func_array(
                    $callback, static::getMethodDependencies($container, $callback, $parameters)
                );
            });
        }
     
        /**
         * Call a string reference to a class using Class@method syntax.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  string  $target
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         *
         * @throws \InvalidArgumentException
         */
        protected static function callClass($container, $target, array $parameters = [], $defaultMethod = null)
        {
            $segments = explode('@', $target);
     
            // We will assume an @ sign is used to delimit the class name from the method
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
    class BoundMethod
    {
        /**
         * Call the given Closure / class@method and inject its dependencies.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  callable|string  $callback
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         */
        public static function call($container, $callback, array $parameters = [], $defaultMethod = null)
        {
            if (static::isCallableWithAtSign($callback) || $defaultMethod) {
                return static::callClass($container, $callback, $parameters, $defaultMethod);
            }
     
            return static::callBoundMethod($container, $callback, function () use ($container, $callback, $parameters) {
                return call_user_func_array(
                    $callback, static::getMethodDependencies($container, $callback, $parameters)
                );
            });
        }
     
        /**
         * Call a string reference to a class using Class@method syntax.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  string  $target
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         *
         * @throws \InvalidArgumentException
         */
        protected static function callClass($container, $target, array $parameters = [], $defaultMethod = null)
        {
            $segments = explode('@', $target);
     
            // We will assume an @ sign is used to delimit the class name from the method
    Arguments
    1. array:2 [
        0 => AuthServiceProvider {#213}
        1 => "boot"
      ]
      
    2. []
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
         * @param  callable  $callback
         * @param  mixed  $default
         * @return mixed
         */
        protected static function callBoundMethod($container, $callback, $default)
        {
            if (! is_array($callback)) {
                return $default instanceof Closure ? $default() : $default;
            }
     
            // Here we need to turn the array callable into a Class@method string we can use to
            // examine the container and see if there are any method bindings for this given
            // method. If there are, we can call this method binding callback immediately.
            $method = static::normalizeMethod($callback);
     
            if ($container->hasMethodBinding($method)) {
                return $container->callMethodBinding($method, $callback[0]);
            }
     
            return $default instanceof Closure ? $default() : $default;
        }
     
        /**
         * Normalize the given callback into a Class@method string.
         *
         * @param  callable  $callback
         * @return string
         */
        protected static function normalizeMethod($callback)
        {
            $class = is_string($callback[0]) ? $callback[0] : get_class($callback[0]);
     
            return "{$class}@{$callback[1]}";
        }
     
        /**
         * Get all dependencies for a given method.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  callable|string  $callback
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    BoundMethod.php
        /**
         * Call the given Closure / class@method and inject its dependencies.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  callable|string  $callback
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         */
        public static function call($container, $callback, array $parameters = [], $defaultMethod = null)
        {
            if (static::isCallableWithAtSign($callback) || $defaultMethod) {
                return static::callClass($container, $callback, $parameters, $defaultMethod);
            }
     
            return static::callBoundMethod($container, $callback, function () use ($container, $callback, $parameters) {
                return call_user_func_array(
                    $callback, static::getMethodDependencies($container, $callback, $parameters)
                );
            });
        }
     
        /**
         * Call a string reference to a class using Class@method syntax.
         *
         * @param  \Illuminate\Container\Container  $container
         * @param  string  $target
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         *
         * @throws \InvalidArgumentException
         */
        protected static function callClass($container, $target, array $parameters = [], $defaultMethod = null)
        {
            $segments = explode('@', $target);
     
            // We will assume an @ sign is used to delimit the class name from the method
            // name. We will split on this @ sign and then build a callable array that
            // we can pass right back into the "call" method for dependency binding.
    Arguments
    1. Application {#5}
      
    2. array:2 [
        0 => AuthServiceProvider {#213}
        1 => "boot"
      ]
      
    3. Closure() {#310 …4}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Container
    /
    Container.php
         * @return \Closure
         */
        public function wrap(Closure $callback, array $parameters = [])
        {
            return function () use ($callback, $parameters) {
                return $this->call($callback, $parameters);
            };
        }
     
        /**
         * Call the given Closure / class@method and inject its dependencies.
         *
         * @param  callable|string  $callback
         * @param  array  $parameters
         * @param  string|null  $defaultMethod
         * @return mixed
         */
        public function call($callback, array $parameters = [], $defaultMethod = null)
        {
            return BoundMethod::call($this, $callback, $parameters, $defaultMethod);
        }
     
        /**
         * Get a closure to resolve the given type from the container.
         *
         * @param  string  $abstract
         * @return \Closure
         */
        public function factory($abstract)
        {
            return function () use ($abstract) {
                return $this->make($abstract);
            };
        }
     
        /**
         * An alias function name for make().
         *
         * @param  string  $abstract
         * @param  array  $parameters
    Arguments
    1. Application {#5}
      
    2. array:2 [
        0 => AuthServiceProvider {#213}
        1 => "boot"
      ]
      
    3. []
      
    4. null
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
     
            array_walk($this->serviceProviders, function ($p) {
                $this->bootProvider($p);
            });
     
            $this->booted = true;
     
            $this->fireAppCallbacks($this->bootedCallbacks);
        }
     
        /**
         * Boot the given service provider.
         *
         * @param  \Illuminate\Support\ServiceProvider  $provider
         * @return mixed
         */
        protected function bootProvider(ServiceProvider $provider)
        {
            if (method_exists($provider, 'boot')) {
                return $this->call([$provider, 'boot']);
            }
        }
     
        /**
         * Register a new boot listener.
         *
         * @param  mixed  $callback
         * @return void
         */
        public function booting($callback)
        {
            $this->bootingCallbacks[] = $callback;
        }
     
        /**
         * Register a new "booted" listener.
         *
         * @param  mixed  $callback
         * @return void
         */
    Arguments
    1. array:2 [
        0 => AuthServiceProvider {#213}
        1 => "boot"
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
        }
     
        /**
         * Boot the application's service providers.
         *
         * @return void
         */
        public function boot()
        {
            if ($this->booted) {
                return;
            }
     
            // Once the application has booted we will also fire some "booted" callbacks
            // for any listeners that need to do work after this initial booting gets
            // finished. This is useful when ordering the boot-up processes we run.
            $this->fireAppCallbacks($this->bootingCallbacks);
     
            array_walk($this->serviceProviders, function ($p) {
                $this->bootProvider($p);
            });
     
            $this->booted = true;
     
            $this->fireAppCallbacks($this->bootedCallbacks);
        }
     
        /**
         * Boot the given service provider.
         *
         * @param  \Illuminate\Support\ServiceProvider  $provider
         * @return mixed
         */
        protected function bootProvider(ServiceProvider $provider)
        {
            if (method_exists($provider, 'boot')) {
                return $this->call([$provider, 'boot']);
            }
        }
     
    Arguments
    1. AuthServiceProvider {#213}
      
    [internal]
    Arguments
    1. AuthServiceProvider {#213}
      
    2. 22
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
     
        /**
         * Boot the application's service providers.
         *
         * @return void
         */
        public function boot()
        {
            if ($this->booted) {
                return;
            }
     
            // Once the application has booted we will also fire some "booted" callbacks
            // for any listeners that need to do work after this initial booting gets
            // finished. This is useful when ordering the boot-up processes we run.
            $this->fireAppCallbacks($this->bootingCallbacks);
     
            array_walk($this->serviceProviders, function ($p) {
                $this->bootProvider($p);
            });
     
            $this->booted = true;
     
            $this->fireAppCallbacks($this->bootedCallbacks);
        }
     
        /**
         * Boot the given service provider.
         *
         * @param  \Illuminate\Support\ServiceProvider  $provider
         * @return mixed
         */
        protected function bootProvider(ServiceProvider $provider)
        {
            if (method_exists($provider, 'boot')) {
                return $this->call([$provider, 'boot']);
            }
        }
     
        /**
    Arguments
    1. array:29 [
        0 => EventServiceProvider {#8}
        1 => LogServiceProvider {#11}
        2 => RoutingServiceProvider {#14}
        3 => AuthServiceProvider {#132}
        4 => CookieServiceProvider {#139}
        5 => DatabaseServiceProvider {#142}
        6 => EncryptionServiceProvider {#150}
        7 => FilesystemServiceProvider {#153}
        8 => FormRequestServiceProvider {#161}
        9 => FoundationServiceProvider {#159}
        10 => NotificationServiceProvider {#165}
        11 => PaginationServiceProvider {#168}
        12 => SessionServiceProvider {#173}
        13 => ViewServiceProvider {#178}
        14 => TrustedProxyServiceProvider {#183}
        15 => ImageServiceProvider {#185}
        16 => NexmoChannelServiceProvider {#189}
        17 => SlackChannelServiceProvider {#193}
        18 => ExcelServiceProvider {#196}
        19 => ServiceProvider {#206}
        20 => ServiceProvider {#208}
        21 => AppServiceProvider {#211}
        22 => AuthServiceProvider {#213}
        23 => EventServiceProvider {#215}
        24 => RouteServiceProvider {#217}
        25 => BaumServiceProvider {#219}
        26 => EntrustServiceProvider {#224}
        27 => TranslationServiceProvider {#266}
        28 => HashServiceProvider {#347}
      ]
      
    2. Closure($p) {#232 …5}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Bootstrap
    /
    BootProviders.php
    <?php
     
    namespace Illuminate\Foundation\Bootstrap;
     
    use Illuminate\Contracts\Foundation\Application;
     
    class BootProviders
    {
        /**
         * Bootstrap the given application.
         *
         * @param  \Illuminate\Contracts\Foundation\Application  $app
         * @return void
         */
        public function bootstrap(Application $app)
        {
            $app->boot();
        }
    }
     
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Application.php
        {
            $this->register(new EventServiceProvider($this));
            $this->register(new LogServiceProvider($this));
            $this->register(new RoutingServiceProvider($this));
        }
     
        /**
         * Run the given array of bootstrap classes.
         *
         * @param  array  $bootstrappers
         * @return void
         */
        public function bootstrapWith(array $bootstrappers)
        {
            $this->hasBeenBootstrapped = true;
     
            foreach ($bootstrappers as $bootstrapper) {
                $this['events']->dispatch('bootstrapping: '.$bootstrapper, [$this]);
     
                $this->make($bootstrapper)->bootstrap($this);
     
                $this['events']->dispatch('bootstrapped: '.$bootstrapper, [$this]);
            }
        }
     
        /**
         * Register a callback to run after loading the environment.
         *
         * @param  \Closure  $callback
         * @return void
         */
        public function afterLoadingEnvironment(Closure $callback)
        {
            return $this->afterBootstrapping(
                LoadEnvironmentVariables::class, $callback
            );
        }
     
        /**
         * Register a callback to run before a bootstrapper.
    Arguments
    1. Application {#5}
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Http
    /
    Kernel.php
     
            Facade::clearResolvedInstance('request');
     
            $this->bootstrap();
     
            return (new Pipeline($this->app))
                        ->send($request)
                        ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                        ->then($this->dispatchToRouter());
        }
     
        /**
         * Bootstrap the application for HTTP requests.
         *
         * @return void
         */
        public function bootstrap()
        {
            if (! $this->app->hasBeenBootstrapped()) {
                $this->app->bootstrapWith($this->bootstrappers());
            }
        }
     
        /**
         * Get the route dispatcher callback.
         *
         * @return \Closure
         */
        protected function dispatchToRouter()
        {
            return function ($request) {
                $this->app->instance('request', $request);
     
                return $this->router->dispatch($request);
            };
        }
     
        /**
         * Call the terminate method on any terminable middleware.
         *
    Arguments
    1. array:6 [
        0 => "Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables"
        1 => "Illuminate\Foundation\Bootstrap\LoadConfiguration"
        2 => "Illuminate\Foundation\Bootstrap\HandleExceptions"
        3 => "Illuminate\Foundation\Bootstrap\RegisterFacades"
        4 => "Illuminate\Foundation\Bootstrap\RegisterProviders"
        5 => "Illuminate\Foundation\Bootstrap\BootProviders"
      ]
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Http
    /
    Kernel.php
            $this->app['events']->dispatch(
                new Events\RequestHandled($request, $response)
            );
     
            return $response;
        }
     
        /**
         * Send the given request through the middleware / router.
         *
         * @param  \Illuminate\Http\Request  $request
         * @return \Illuminate\Http\Response
         */
        protected function sendRequestThroughRouter($request)
        {
            $this->app->instance('request', $request);
     
            Facade::clearResolvedInstance('request');
     
            $this->bootstrap();
     
            return (new Pipeline($this->app))
                        ->send($request)
                        ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                        ->then($this->dispatchToRouter());
        }
     
        /**
         * Bootstrap the application for HTTP requests.
         *
         * @return void
         */
        public function bootstrap()
        {
            if (! $this->app->hasBeenBootstrapped()) {
                $this->app->bootstrapWith($this->bootstrappers());
            }
        }
     
        /**
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    vendor
    /
    laravel
    /
    framework
    /
    src
    /
    Illuminate
    /
    Foundation
    /
    Http
    /
    Kernel.php
                $router->middlewareGroup($key, $middleware);
            }
     
            foreach ($this->routeMiddleware as $key => $middleware) {
                $router->aliasMiddleware($key, $middleware);
            }
        }
     
        /**
         * Handle an incoming HTTP request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @return \Illuminate\Http\Response
         */
        public function handle($request)
        {
            try {
                $request->enableHttpMethodParameterOverride();
     
                $response = $this->sendRequestThroughRouter($request);
            } catch (Exception $e) {
                $this->reportException($e);
     
                $response = $this->renderException($request, $e);
            } catch (Throwable $e) {
                $this->reportException($e = new FatalThrowableError($e));
     
                $response = $this->renderException($request, $e);
            }
     
            $this->app['events']->dispatch(
                new Events\RequestHandled($request, $response)
            );
     
            return $response;
        }
     
        /**
         * Send the given request through the middleware / router.
         *
    Arguments
    1. Request {#55
        #json: null
        #convertedFiles: null
        #userResolver: null
        #routeResolver: null
        +attributes: ParameterBag {#65}
        +request: ParameterBag {#63}
        +query: ParameterBag {#63}
        +server: ServerBag {#67}
        +files: FileBag {#60}
        +cookies: ParameterBag {#66}
        +headers: HeaderBag {#68}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: array:1 [
          0 => "*/*"
        ]
        #pathInfo: null
        #requestUri: null
        #baseUrl: null
        #basePath: null
        #method: null
        #format: null
        #session: null
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        pathInfo: "/news_detail/103"
        requestUri: "/news_detail/103"
        baseUrl: ""
        basePath: ""
        method: "GET"
        format: "html"
      }
      
    /
    home
    /
    wwwroot
    /
    hengv.com
    /
    public
    /
    index.php
    */
     
    $app = require_once __DIR__.'/../bootstrap/app.php';
     
    /*
    |--------------------------------------------------------------------------
    | Run The Application
    |--------------------------------------------------------------------------
    |
    | Once we have the application, we can handle the incoming request
    | through the kernel, and send the associated response back to
    | the client's browser allowing them to enjoy the creative
    | and wonderful application we have prepared for them.
    |
    */
     
    $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
     
    $response = $kernel->handle(
        $request = Illuminate\Http\Request::capture()
    );
     
    $response->send();
     
    $kernel->terminate($request, $response);
     
    Arguments
    1. Request {#55
        #json: null
        #convertedFiles: null
        #userResolver: null
        #routeResolver: null
        +attributes: ParameterBag {#65}
        +request: ParameterBag {#63}
        +query: ParameterBag {#63}
        +server: ServerBag {#67}
        +files: FileBag {#60}
        +cookies: ParameterBag {#66}
        +headers: HeaderBag {#68}
        #content: null
        #languages: null
        #charsets: null
        #encodings: null
        #acceptableContentTypes: array:1 [
          0 => "*/*"
        ]
        #pathInfo: null
        #requestUri: null
        #baseUrl: null
        #basePath: null
        #method: null
        #format: null
        #session: null
        #locale: null
        #defaultLocale: "en"
        -isHostValid: true
        -isForwardedValid: true
        pathInfo: "/news_detail/103"
        requestUri: "/news_detail/103"
        baseUrl: ""
        basePath: ""
        method: "GET"
        format: "html"
      }
      

    Environment & details:

    empty
    empty
    empty
    empty
    empty
    Key
    Value
    USER
    "www"
    
    HOME
    "/home/www"
    
    HTTP_ACCEPT_ENCODING
    "deflate, gzip"
    
    HTTP_ACCEPT
    "*/*"
    
    HTTP_HOST
    "www.hengv.com"
    
    HTTP_USER_AGENT
    "Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html)"
    
    PATH_INFO
    ""
    
    PHP_ADMIN_VALUE
    "open_basedir=/home/wwwroot/hengv.com/public/../:/tmp/:/proc/"
    
    REDIRECT_STATUS
    "200"
    
    SERVER_NAME
    "hengv.whrango.cc"
    
    SERVER_PORT
    "80"
    
    SERVER_ADDR
    "172.17.27.124"
    
    REMOTE_PORT
    "20000"
    
    REMOTE_ADDR
    "154.212.220.128"
    
    SERVER_SOFTWARE
    "nginx/1.14.1"
    
    GATEWAY_INTERFACE
    "CGI/1.1"
    
    REQUEST_SCHEME
    "http"
    
    SERVER_PROTOCOL
    "HTTP/1.1"
    
    DOCUMENT_ROOT
    "/home/wwwroot/hengv.com/public"
    
    DOCUMENT_URI
    "/index.php"
    
    REQUEST_URI
    "/news_detail/103"
    
    SCRIPT_NAME
    "/index.php"
    
    CONTENT_LENGTH
    ""
    
    CONTENT_TYPE
    ""
    
    REQUEST_METHOD
    "GET"
    
    QUERY_STRING
    ""
    
    SCRIPT_FILENAME
    "/home/wwwroot/hengv.com/public/index.php"
    
    FCGI_ROLE
    "RESPONDER"
    
    PHP_SELF
    ""
    
    REQUEST_TIME_FLOAT
    1593727116.0449
    
    REQUEST_TIME
    1593727116
    
    APP_NAME
    "Laravel"
    
    APP_ENV
    "local"
    
    APP_KEY
    "base64:uM8wo/xTccdKXLmV7EeSNz30BcsL64k/vzoJJgn/3s0="
    
    APP_DEBUG
    "true"
    
    APP_LOG_LEVEL
    "debug"
    
    APP_URL
    "http://localhost"
    
    DB_HOST
    "127.0.0.1"
    
    DB_PORT
    "3306"
    
    DB_DATABASE
    "hengv.com"
    
    DB_USERNAME
    "hengv.com"
    
    DB_PASSWORD
    "hengv.com"
    
    BROADCAST_DRIVER
    "log"
    
    CACHE_DRIVER
    "file"
    
    SESSION_DRIVER
    "file"
    
    SESSION_LIFETIME
    "120"
    
    QUEUE_DRIVER
    "sync"
    
    REDIS_HOST
    "127.0.0.1"
    
    REDIS_PASSWORD
    "null"
    
    REDIS_PORT
    "6379"
    
    MAIL_DRIVER
    "smtp"
    
    MAIL_HOST
    "smtp.mailtrap.io"
    
    MAIL_PORT
    "2525"
    
    MAIL_USERNAME
    "null"
    
    MAIL_PASSWORD
    "null"
    
    MAIL_ENCRYPTION
    "null"
    
    PUSHER_APP_ID
    ""
    
    PUSHER_APP_KEY
    ""
    
    PUSHER_APP_SECRET
    ""
    
    PUSHER_APP_CLUSTER
    "mt1"
    
    Key
    Value
    APP_NAME
    "Laravel"
    
    APP_ENV
    "local"
    
    APP_KEY
    "base64:uM8wo/xTccdKXLmV7EeSNz30BcsL64k/vzoJJgn/3s0="
    
    APP_DEBUG
    "true"
    
    APP_LOG_LEVEL
    "debug"
    
    APP_URL
    "http://localhost"
    
    DB_HOST
    "127.0.0.1"
    
    DB_PORT
    "3306"
    
    DB_DATABASE
    "hengv.com"
    
    DB_USERNAME
    "hengv.com"
    
    DB_PASSWORD
    "hengv.com"
    
    BROADCAST_DRIVER
    "log"
    
    CACHE_DRIVER
    "file"
    
    SESSION_DRIVER
    "file"
    
    SESSION_LIFETIME
    "120"
    
    QUEUE_DRIVER
    "sync"
    
    REDIS_HOST
    "127.0.0.1"
    
    REDIS_PASSWORD
    "null"
    
    REDIS_PORT
    "6379"
    
    MAIL_DRIVER
    "smtp"
    
    MAIL_HOST
    "smtp.mailtrap.io"
    
    MAIL_PORT
    "2525"
    
    MAIL_USERNAME
    "null"
    
    MAIL_PASSWORD
    "null"
    
    MAIL_ENCRYPTION
    "null"
    
    PUSHER_APP_ID
    ""
    
    PUSHER_APP_KEY
    ""
    
    PUSHER_APP_SECRET
    ""
    
    PUSHER_APP_CLUSTER
    "mt1"
    
    0. Whoops\Handler\PrettyPageHandler