Predis \ Connection \ ConnectionException
`SELECT` failed: NOAUTH Authentication required. [tcp://127.0.0.1:6379] Predis\Connection\ConnectionException thrown with message "`SELECT` failed: NOAUTH Authentication required. [tcp://127.0.0.1:6379]" Stacktrace: #29 Predis\Connection\ConnectionException in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/AbstractConnection.php:155 #28 Predis\Connection\AbstractConnection:onConnectionError in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/StreamConnection.php:263 #27 Predis\Connection\StreamConnection:connect in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/AbstractConnection.php:180 #26 Predis\Connection\AbstractConnection:getResource in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/StreamConnection.php:288 #25 Predis\Connection\StreamConnection:write in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/StreamConnection.php:394 #24 Predis\Connection\StreamConnection:writeRequest in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/AbstractConnection.php:110 #23 Predis\Connection\AbstractConnection:executeCommand in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Client.php:331 #22 Predis\Client:executeCommand in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Client.php:314 #21 Predis\Client:__call in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:116 #20 Illuminate\Redis\Connections\Connection:command in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:220 #19 Illuminate\Redis\Connections\Connection:__call in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php:62 #18 Illuminate\Cache\RedisStore:get in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Cache/Repository.php:97 #17 Illuminate\Cache\Repository:get in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:418 #16 Illuminate\Cache\CacheManager:__call in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:261 #15 Illuminate\Support\Facades\Facade:__callStatic in /var/www/vhosts/brauntonchurch.org/httpdocs/app/Providers/AppServiceProvider.php:21 #14 App\Providers\AppServiceProvider:boot in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36 #13 Illuminate\Container\BoundMethod:Illuminate\Container\{closure} in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Util.php:40 #12 Illuminate\Container\Util:unwrapIfClosure in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93 #11 Illuminate\Container\BoundMethod:callBoundMethod in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:37 #10 Illuminate\Container\BoundMethod:call in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php:653 #9 Illuminate\Container\Container:call in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:935 #8 Illuminate\Foundation\Application:bootProvider in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:916 #7 Illuminate\Foundation\Application:Illuminate\Foundation\{closure} in [internal]:0 #6 array_walk in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:917 #5 Illuminate\Foundation\Application:boot in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17 #4 Illuminate\Foundation\Bootstrap\BootProviders:bootstrap in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:237 #3 Illuminate\Foundation\Application:bootstrapWith in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:153 #2 Illuminate\Foundation\Http\Kernel:bootstrap in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:137 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:111 #0 Illuminate\Foundation\Http\Kernel:handle in /var/www/vhosts/brauntonchurch.org/httpdocs/public/index.php:55
29
Predis\Connection\ConnectionException
/vendor/predis/predis/src/Connection/AbstractConnection.php155
28
Predis\Connection\AbstractConnection onConnectionError
/vendor/predis/predis/src/Connection/StreamConnection.php263
27
Predis\Connection\StreamConnection connect
/vendor/predis/predis/src/Connection/AbstractConnection.php180
26
Predis\Connection\AbstractConnection getResource
/vendor/predis/predis/src/Connection/StreamConnection.php288
25
Predis\Connection\StreamConnection write
/vendor/predis/predis/src/Connection/StreamConnection.php394
24
Predis\Connection\StreamConnection writeRequest
/vendor/predis/predis/src/Connection/AbstractConnection.php110
23
Predis\Connection\AbstractConnection executeCommand
/vendor/predis/predis/src/Client.php331
22
Predis\Client executeCommand
/vendor/predis/predis/src/Client.php314
21
Predis\Client __call
/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php116
20
Illuminate\Redis\Connections\Connection command
/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php220
19
Illuminate\Redis\Connections\Connection __call
/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php62
18
Illuminate\Cache\RedisStore get
/vendor/laravel/framework/src/Illuminate/Cache/Repository.php97
17
Illuminate\Cache\Repository get
/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php418
16
Illuminate\Cache\CacheManager __call
/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php261
15
Illuminate\Support\Facades\Facade __callStatic
/app/Providers/AppServiceProvider.php21
14
App\Providers\AppServiceProvider boot
/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php36
13
Illuminate\Container\BoundMethod Illuminate\Container\{closure}
/vendor/laravel/framework/src/Illuminate/Container/Util.php40
12
Illuminate\Container\Util unwrapIfClosure
/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php93
11
Illuminate\Container\BoundMethod callBoundMethod
/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php37
10
Illuminate\Container\BoundMethod call
/vendor/laravel/framework/src/Illuminate/Container/Container.php653
9
Illuminate\Container\Container call
/vendor/laravel/framework/src/Illuminate/Foundation/Application.php935
8
Illuminate\Foundation\Application bootProvider
/vendor/laravel/framework/src/Illuminate/Foundation/Application.php916
7
Illuminate\Foundation\Application Illuminate\Foundation\{closure}
[internal]0
6
array_walk
/vendor/laravel/framework/src/Illuminate/Foundation/Application.php917
5
Illuminate\Foundation\Application boot
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php17
4
Illuminate\Foundation\Bootstrap\BootProviders bootstrap
/vendor/laravel/framework/src/Illuminate/Foundation/Application.php237
3
Illuminate\Foundation\Application bootstrapWith
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php153
2
Illuminate\Foundation\Http\Kernel bootstrap
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php137
1
Illuminate\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php111
0
Illuminate\Foundation\Http\Kernel handle
/public/index.php55
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/AbstractConnection.php
            return "$message [$parameters->scheme:$parameters->path]";
        }
 
        if (filter_var($parameters->host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
            return "$message [$parameters->scheme://[$parameters->host]:$parameters->port]";
        }
 
        return "$message [$parameters->scheme://$parameters->host:$parameters->port]";
    }
 
    /**
     * Helper method to handle connection errors.
     *
     * @param string $message Error message.
     * @param int    $code    Error code.
     */
    protected function onConnectionError($message, $code = null)
    {
        CommunicationException::handle(
            new ConnectionException($this, static::createExceptionMessage($message), $code)
        );
    }
 
    /**
     * Helper method to handle protocol errors.
     *
     * @param string $message Error message.
     */
    protected function onProtocolError($message)
    {
        CommunicationException::handle(
            new ProtocolException($this, static::createExceptionMessage($message))
        );
    }
 
    /**
     * {@inheritdoc}
     */
    public function getResource()
    {
Arguments
  1. "`SELECT` failed: NOAUTH Authentication required. [tcp://127.0.0.1:6379]"
    
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/StreamConnection.php
        }
 
        if (!stream_socket_enable_crypto($resource, true, $options['crypto_type'])) {
            $this->onConnectionError('Error while switching to encrypted communication');
        }
 
        return $resource;
    }
 
    /**
     * {@inheritdoc}
     */
    public function connect()
    {
        if (parent::connect() && $this->initCommands) {
            foreach ($this->initCommands as $command) {
                $response = $this->executeCommand($command);
 
                if ($response instanceof ErrorResponseInterface) {
                    $this->onConnectionError("`{$command->getId()}` failed: $response", 0);
                }
            }
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function disconnect()
    {
        if ($this->isConnected()) {
            fclose($this->getResource());
            parent::disconnect();
        }
    }
 
    /**
     * Performs a write operation over the stream of the buffer containing a
     * command serialized with the Redis wire protocol.
     *
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/AbstractConnection.php
     *
     * @param string $message Error message.
     */
    protected function onProtocolError($message)
    {
        CommunicationException::handle(
            new ProtocolException($this, static::createExceptionMessage($message))
        );
    }
 
    /**
     * {@inheritdoc}
     */
    public function getResource()
    {
        if (isset($this->resource)) {
            return $this->resource;
        }
 
        $this->connect();
 
        return $this->resource;
    }
 
    /**
     * {@inheritdoc}
     */
    public function getParameters()
    {
        return $this->parameters;
    }
 
    /**
     * Gets an identifier for the connection.
     *
     * @return string
     */
    protected function getIdentifier()
    {
        if ($this->parameters->scheme === 'unix') {
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/StreamConnection.php
    /**
     * {@inheritdoc}
     */
    public function disconnect()
    {
        if ($this->isConnected()) {
            fclose($this->getResource());
            parent::disconnect();
        }
    }
 
    /**
     * Performs a write operation over the stream of the buffer containing a
     * command serialized with the Redis wire protocol.
     *
     * @param string $buffer Representation of a command in the Redis wire protocol.
     */
    protected function write($buffer)
    {
        $socket = $this->getResource();
 
        while (($length = strlen($buffer)) > 0) {
            $written = @fwrite($socket, $buffer);
 
            if ($length === $written) {
                return;
            }
 
            if ($written === false || $written === 0) {
                $this->onConnectionError('Error while writing bytes to the server.');
            }
 
            $buffer = substr($buffer, $written);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function read()
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/StreamConnection.php
 
    /**
     * {@inheritdoc}
     */
    public function writeRequest(CommandInterface $command)
    {
        $commandID = $command->getId();
        $arguments = $command->getArguments();
 
        $cmdlen = strlen($commandID);
        $reqlen = count($arguments) + 1;
 
        $buffer = "*{$reqlen}\r\n\${$cmdlen}\r\n{$commandID}\r\n";
 
        foreach ($arguments as $argument) {
            $arglen = strlen(strval($argument));
            $buffer .= "\${$arglen}\r\n{$argument}\r\n";
        }
 
        $this->write($buffer);
    }
}
 
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Connection/AbstractConnection.php
     */
    public function disconnect()
    {
        unset($this->resource);
    }
 
    /**
     * {@inheritdoc}
     */
    public function addConnectCommand(CommandInterface $command)
    {
        $this->initCommands[] = $command;
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $this->writeRequest($command);
 
        return $this->readResponse($command);
    }
 
    /**
     * {@inheritdoc}
     */
    public function readResponse(CommandInterface $command)
    {
        return $this->read();
    }
 
    /**
     * Helper method that returns an exception message augmented with useful
     * details from the connection parameters.
     *
     * @param string $message Error message.
     *
     * @return string
     */
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Client.php
    {
        return $this->executeCommand(
            $this->createCommand($commandID, $arguments)
        );
    }
 
    /**
     * {@inheritdoc}
     */
    public function createCommand($commandID, $arguments = array())
    {
        return $this->profile->createCommand($commandID, $arguments);
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $response = $this->connection->executeCommand($command);
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
                $response = $this->onErrorResponse($command, $response);
            }
 
            return $response;
        }
 
        return $command->parseResponse($response);
    }
 
    /**
     * Handles -ERR responses returned by Redis.
     *
     * @param CommandInterface       $command  Redis command that generated the error.
     * @param ErrorResponseInterface $response Instance of the error response.
     *
     * @throws ServerException
     *
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/predis/predis/src/Client.php
        );
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
                $error = true;
            }
 
            return (string) $response;
        }
 
        return $response;
    }
 
    /**
     * {@inheritdoc}
     */
    public function __call($commandID, $arguments)
    {
        return $this->executeCommand(
            $this->createCommand($commandID, $arguments)
        );
    }
 
    /**
     * {@inheritdoc}
     */
    public function createCommand($commandID, $arguments = array())
    {
        return $this->profile->createCommand($commandID, $arguments);
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $response = $this->connection->executeCommand($command);
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php
     * @param  \Closure  $callback
     * @return void
     */
    public function psubscribe($channels, Closure $callback)
    {
        return $this->createSubscription($channels, $callback, __FUNCTION__);
    }
 
    /**
     * Run a command against the Redis database.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     */
    public function command($method, array $parameters = [])
    {
        $start = microtime(true);
 
        $result = $this->client->{$method}(...$parameters);
 
        $time = round((microtime(true) - $start) * 1000, 2);
 
        if (isset($this->events)) {
            $this->event(new CommandExecuted($method, $parameters, $time, $this));
        }
 
        return $result;
    }
 
    /**
     * Fire the given event if possible.
     *
     * @param  mixed  $event
     * @return void
     */
    protected function event($event)
    {
        if (isset($this->events)) {
            $this->events->dispatch($event);
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php
     */
    public function unsetEventDispatcher()
    {
        $this->events = null;
    }
 
    /**
     * Pass other method calls down to the underlying client.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     */
    public function __call($method, $parameters)
    {
        if (static::hasMacro($method)) {
            return $this->macroCall($method, $parameters);
        }
 
        return $this->command($method, $parameters);
    }
}
 
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
     * @param  string  $prefix
     * @param  string  $connection
     * @return void
     */
    public function __construct(Redis $redis, $prefix = '', $connection = 'default')
    {
        $this->redis = $redis;
        $this->setPrefix($prefix);
        $this->setConnection($connection);
    }
 
    /**
     * Retrieve an item from the cache by key.
     *
     * @param  string|array  $key
     * @return mixed
     */
    public function get($key)
    {
        $value = $this->connection()->get($this->prefix.$key);
 
        return ! is_null($value) ? $this->unserialize($value) : null;
    }
 
    /**
     * Retrieve multiple items from the cache by key.
     *
     * Items not found in the cache will have a null value.
     *
     * @param  array  $keys
     * @return array
     */
    public function many(array $keys)
    {
        $results = [];
 
        $values = $this->connection()->mget(array_map(function ($key) {
            return $this->prefix.$key;
        }, $keys));
 
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Cache/Repository.php
     */
    public function missing($key)
    {
        return ! $this->has($key);
    }
 
    /**
     * Retrieve an item from the cache by key.
     *
     * @param  string  $key
     * @param  mixed  $default
     * @return mixed
     */
    public function get($key, $default = null)
    {
        if (is_array($key)) {
            return $this->many($key);
        }
 
        $value = $this->store->get($this->itemKey($key));
 
        // If we could not find the cache value, we will fire the missed event and get
        // the default value for this cache value. This default could be a callback
        // so we will execute the value function which will resolve it if needed.
        if (is_null($value)) {
            $this->event(new CacheMissed($key));
 
            $value = value($default);
        } else {
            $this->event(new CacheHit($key, $value));
        }
 
        return $value;
    }
 
    /**
     * Retrieve multiple items from the cache by key.
     *
     * Items not found in the cache will have a null value.
     *
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php
     * @param  \Closure  $callback
     * @return $this
     */
    public function extend($driver, Closure $callback)
    {
        $this->customCreators[$driver] = $callback->bindTo($this, $this);
 
        return $this;
    }
 
    /**
     * Dynamically call the default driver instance.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     */
    public function __call($method, $parameters)
    {
        return $this->store()->$method(...$parameters);
    }
}
 
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php
    }
 
    /**
     * Handle dynamic, static calls to the object.
     *
     * @param  string  $method
     * @param  array  $args
     * @return mixed
     *
     * @throws \RuntimeException
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::getFacadeRoot();
 
        if (! $instance) {
            throw new RuntimeException('A facade root has not been set.');
        }
 
        return $instance->$method(...$args);
    }
}
 
/var/www/vhosts/brauntonchurch.org/httpdocs/app/Providers/AppServiceProvider.php
 
namespace App\Providers;
 
use App\BCCMS;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;
 
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $last_flush = BCCMS::get('cache')->last_flush;
 
        if ($last_flush > Cache::get('bccms.cache.last-flush')) {
            Cache::flush();
            Cache::forever('bccms.cache.last-flush', $last_flush);
        }
 
        View::composer('*', function ($view) {
 
            $menus = collect(Cache::rememberForever('bccms.menus', function () {
                return BCCMS::get('menus');
            })->items);
 
            $view->with('main_menu', $menus->get('main_menu', []));
 
//            $partials = collect(Cache::rememberForever('bccms.partials', function () {
//                return BCCMS::get('partials');
//            })->items);
//
//            $view->with('telephone_number', $partials->get('telephone_number', ''));
//            $view->with('email_address', $partials->get('email_address', ''));
//            $view->with('facebook', $partials->get('facebook', ''));
//            $view->with('address', $partials->get('address', ''));
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php
     * @param  callable|string  $callback
     * @param  array  $parameters
     * @param  string|null  $defaultMethod
     * @return mixed
     *
     * @throws \ReflectionException
     * @throws \InvalidArgumentException
     */
    public static function call($container, $callback, array $parameters = [], $defaultMethod = null)
    {
        if (is_string($callback) && ! $defaultMethod && method_exists($callback, '__invoke')) {
            $defaultMethod = '__invoke';
        }
 
        if (static::isCallableWithAtSign($callback) || $defaultMethod) {
            return static::callClass($container, $callback, $parameters, $defaultMethod);
        }
 
        return static::callBoundMethod($container, $callback, function () use ($container, $callback, $parameters) {
            return $callback(...array_values(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
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Util.php
    public static function arrayWrap($value)
    {
        if (is_null($value)) {
            return [];
        }
 
        return is_array($value) ? $value : [$value];
    }
 
    /**
     * Return the default value of the given value.
     *
     * From global value() helper in Illuminate\Support.
     *
     * @param  mixed  $value
     * @return mixed
     */
    public static function unwrapIfClosure($value)
    {
        return $value instanceof Closure ? $value() : $value;
    }
 
    /**
     * Get the class name of the given parameter's type, if possible.
     *
     * From Reflector::getParameterClassName() in Illuminate\Support.
     *
     * @param  \ReflectionParameter  $parameter
     * @return string|null
     */
    public static function getParameterClassName($parameter)
    {
        $type = $parameter->getType();
 
        if (! $type instanceof ReflectionNamedType || $type->isBuiltin()) {
            return null;
        }
 
        $name = $type->getName();
 
/var/www/vhosts/brauntonchurch.org/httpdocs/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 Util::unwrapIfClosure($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 Util::unwrapIfClosure($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
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php
     * @param  array  $parameters
     * @param  string|null  $defaultMethod
     * @return mixed
     *
     * @throws \ReflectionException
     * @throws \InvalidArgumentException
     */
    public static function call($container, $callback, array $parameters = [], $defaultMethod = null)
    {
        if (is_string($callback) && ! $defaultMethod && method_exists($callback, '__invoke')) {
            $defaultMethod = '__invoke';
        }
 
        if (static::isCallableWithAtSign($callback) || $defaultMethod) {
            return static::callClass($container, $callback, $parameters, $defaultMethod);
        }
 
        return static::callBoundMethod($container, $callback, function () use ($container, $callback, $parameters) {
            return $callback(...array_values(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.
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php
    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<string, mixed>  $parameters
     * @param  string|null  $defaultMethod
     * @return mixed
     *
     * @throws \InvalidArgumentException
     */
    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|callable  $abstract
     * @param  array  $parameters
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
            $this->bootProvider($p);
        });
 
        $this->booted = true;
 
        $this->fireAppCallbacks($this->bootedCallbacks);
    }
 
    /**
     * Boot the given service provider.
     *
     * @param  \Illuminate\Support\ServiceProvider  $provider
     * @return void
     */
    protected function bootProvider(ServiceProvider $provider)
    {
        $provider->callBootingCallbacks();
 
        if (method_exists($provider, 'boot')) {
            $this->call([$provider, 'boot']);
        }
 
        $provider->callBootedCallbacks();
    }
 
    /**
     * Register a new boot listener.
     *
     * @param  callable  $callback
     * @return void
     */
    public function booting($callback)
    {
        $this->bootingCallbacks[] = $callback;
    }
 
    /**
     * Register a new "booted" listener.
     *
     * @param  callable  $callback
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
    }
 
    /**
     * Boot the application's service providers.
     *
     * @return void
     */
    public function boot()
    {
        if ($this->isBooted()) {
            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 void
     */
    protected function bootProvider(ServiceProvider $provider)
    {
        $provider->callBootingCallbacks();
 
        if (method_exists($provider, 'boot')) {
            $this->call([$provider, 'boot']);
        }
[internal]
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Application.php
 
    /**
     * Boot the application's service providers.
     *
     * @return void
     */
    public function boot()
    {
        if ($this->isBooted()) {
            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 void
     */
    protected function bootProvider(ServiceProvider $provider)
    {
        $provider->callBootingCallbacks();
 
        if (method_exists($provider, 'boot')) {
            $this->call([$provider, 'boot']);
        }
 
/var/www/vhosts/brauntonchurch.org/httpdocs/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();
    }
}
 
/var/www/vhosts/brauntonchurch.org/httpdocs/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  string[]  $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)
    {
        $this->afterBootstrapping(
            LoadEnvironmentVariables::class, $callback
        );
    }
 
    /**
     * Register a callback to run before a bootstrapper.
/var/www/vhosts/brauntonchurch.org/httpdocs/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.
     *
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
        $this->app['events']->dispatch(
            new 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());
        }
    }
 
    /**
/var/www/vhosts/brauntonchurch.org/httpdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    public function __construct(Application $app, Router $router)
    {
        $this->app = $app;
        $this->router = $router;
 
        $this->syncMiddlewareToRouter();
    }
 
    /**
     * 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 (Throwable $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new 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)
/var/www/vhosts/brauntonchurch.org/httpdocs/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);
 

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"www-data"
HOME
"/var/www"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REMOTE_PORT
"18016"
SCRIPT_FILENAME
"/var/www/vhosts/brauntonchurch.org/httpdocs/public/index.php"
SERVER_ADMIN
"[no address given]"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/brauntonchurch.org/httpdocs/public"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"http"
DOCUMENT_ROOT
"/var/www/vhosts/brauntonchurch.org/httpdocs/public"
REMOTE_ADDR
"172.71.178.125"
SERVER_PORT
"80"
SERVER_ADDR
"178.62.6.148"
SERVER_NAME
"www.brauntonchurch.org"
SERVER_SOFTWARE
"Apache/2.4.52 (Ubuntu)"
SERVER_SIGNATURE
"<address>Apache/2.4.52 (Ubuntu) Server at www.brauntonchurch.org Port 80</address>\n"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CDN_LOOP
"cloudflare"
HTTP_CF_CONNECTING_IP
"3.229.122.112"
HTTP_REFERER
"http://www.brauntonchurch.org/"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_CF_RAY
"866c351edcdc5aec-LHR"
HTTP_X_FORWARDED_FOR
"3.229.122.112"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_CONNECTION
"Keep-Alive"
HTTP_HOST
"www.brauntonchurch.org"
proxy-nokeepalive
"1"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1710838148.9855
REQUEST_TIME
1710838148
APP_NAME
"Laravel"
APP_ENV
"production"
APP_KEY
"base64:ioWb4i7rBqfRwYipZa7xsJsw5VH8kaTwsZVsYt0tL6c="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://www.brauntonchurch.org/"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"homestead"
DB_USERNAME
"homestead"
DB_PASSWORD
"secret"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
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
""
Key Value
APP_NAME
"Laravel"
APP_ENV
"production"
APP_KEY
"base64:ioWb4i7rBqfRwYipZa7xsJsw5VH8kaTwsZVsYt0tL6c="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://www.brauntonchurch.org/"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"homestead"
DB_USERNAME
"homestead"
DB_PASSWORD
"secret"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
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
""
0. Whoops\Handler\PrettyPageHandler