Doctrine \ DBAL \ Driver \ PDO \ Exception (1040)
SQLSTATE[08004] [1040] Too many connections
Previous exceptions
  • SQLSTATE[08004] [1040] Too many connections (1040)
Doctrine\DBAL\Driver\PDO\Exception thrown with message "SQLSTATE[08004] [1040] Too many connections" Stacktrace: #23 Doctrine\DBAL\Driver\PDO\Exception in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18 #22 Doctrine\DBAL\Driver\PDO\Exception:new in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:44 #21 PDOException in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:40 #20 PDO:__construct in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:40 #19 Doctrine\DBAL\Driver\PDOConnection:__construct in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Connection/PDOConnection.php:22 #18 Concrete\Core\Database\Connection\PDOConnection:__construct in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Driver/PDOMySqlConcrete/Driver.php:18 #17 Concrete\Core\Database\Driver\PDOMySqlConcrete\Driver:connect in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:412 #16 Doctrine\DBAL\Connection:connect in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:475 #15 Doctrine\DBAL\Connection:getDatabasePlatformVersion in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:437 #14 Doctrine\DBAL\Connection:detectDatabasePlatform in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:379 #13 Doctrine\DBAL\Connection:getDatabasePlatform in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Connection/ConnectionFactory.php:57 #12 Concrete\Core\Database\Connection\ConnectionFactory:createConnection in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Connection/ConnectionFactory.php:71 #11 Concrete\Core\Database\Connection\ConnectionFactory:make in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/DatabaseManager.php:186 #10 Concrete\Core\Database\DatabaseManager:makeConnection in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/DatabaseManager.php:95 #9 Concrete\Core\Database\DatabaseManager:connection in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Support/Facade/Database.php:26 #8 Concrete\Core\Support\Facade\Database:__callStatic in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Package/PackageList.php:73 #7 Concrete\Core\Package\PackageList:get in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Application/Application.php:231 #6 Concrete\Core\Application\Application:setupPackageAutoloaders in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/Boot/DefaultBooter.php:510 #5 Concrete\Core\Foundation\Runtime\Boot\DefaultBooter:initializePackages in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/Boot/DefaultBooter.php:179 #4 Concrete\Core\Foundation\Runtime\Boot\DefaultBooter:bootHttpSapi in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/Boot/DefaultBooter.php:134 #3 Concrete\Core\Foundation\Runtime\Boot\DefaultBooter:boot in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/DefaultRuntime.php:80 #2 Concrete\Core\Foundation\Runtime\DefaultRuntime:boot in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/bootstrap/start.php:44 #1 require in /var/www/vhosts/janecragg.co.uk/httpdocs/concrete/dispatcher.php:36 #0 require in /var/www/vhosts/janecragg.co.uk/httpdocs/index.php:2
Stack frames (24)
23
Doctrine\DBAL\Driver\PDO\Exception
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php18
22
Doctrine\DBAL\Driver\PDO\Exception new
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php44
21
PDOException
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php40
20
PDO __construct
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php40
19
Doctrine\DBAL\Driver\PDOConnection __construct
/src/Database/Connection/PDOConnection.php22
18
Concrete\Core\Database\Connection\PDOConnection __construct
/src/Database/Driver/PDOMySqlConcrete/Driver.php18
17
Concrete\Core\Database\Driver\PDOMySqlConcrete\Driver connect
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php412
16
Doctrine\DBAL\Connection connect
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php475
15
Doctrine\DBAL\Connection getDatabasePlatformVersion
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php437
14
Doctrine\DBAL\Connection detectDatabasePlatform
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php379
13
Doctrine\DBAL\Connection getDatabasePlatform
/src/Database/Connection/ConnectionFactory.php57
12
Concrete\Core\Database\Connection\ConnectionFactory createConnection
/src/Database/Connection/ConnectionFactory.php71
11
Concrete\Core\Database\Connection\ConnectionFactory make
/src/Database/DatabaseManager.php186
10
Concrete\Core\Database\DatabaseManager makeConnection
/src/Database/DatabaseManager.php95
9
Concrete\Core\Database\DatabaseManager connection
/src/Support/Facade/Database.php26
8
Concrete\Core\Support\Facade\Database __callStatic
/src/Package/PackageList.php73
7
Concrete\Core\Package\PackageList get
/src/Application/Application.php231
6
Concrete\Core\Application\Application setupPackageAutoloaders
/src/Foundation/Runtime/Boot/DefaultBooter.php510
5
Concrete\Core\Foundation\Runtime\Boot\DefaultBooter initializePackages
/src/Foundation/Runtime/Boot/DefaultBooter.php179
4
Concrete\Core\Foundation\Runtime\Boot\DefaultBooter bootHttpSapi
/src/Foundation/Runtime/Boot/DefaultBooter.php134
3
Concrete\Core\Foundation\Runtime\Boot\DefaultBooter boot
/src/Foundation/Runtime/DefaultRuntime.php80
2
Concrete\Core\Foundation\Runtime\DefaultRuntime boot
/bootstrap/start.php44
1
require
/dispatcher.php36
0
require
/var/www/vhosts/janecragg.co.uk/httpdocs/index.php2
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php
<?php
 
declare(strict_types=1);
 
namespace Doctrine\DBAL\Driver\PDO;
 
use Doctrine\DBAL\Driver\PDOException;
 
/**
 * @internal
 *
 * @psalm-immutable
 */
final class Exception extends PDOException
{
    public static function new(\PDOException $exception): self
    {
        return new self($exception);
    }
}
 
Arguments
  1. "SQLSTATE[08004] [1040] Too many connections"
    
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
    use PDOQueryImplementation;
 
    /**
     * @internal The connection can be only instantiated by its driver.
     *
     * @param string       $dsn
     * @param string|null  $user
     * @param string|null  $password
     * @param mixed[]|null $options
     *
     * @throws PDOException In case of an error.
     */
    public function __construct($dsn, $user = null, $password = null, ?array $options = null)
    {
        try {
            parent::__construct($dsn, (string) $user, (string) $password, (array) $options);
            $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, [Statement::class, []]);
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $exception) {
            throw Exception::new($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    #[ReturnTypeWillChange]
    public function exec($sql)
    {
        try {
            $result = parent::exec($sql);
            assert($result !== false);
 
            return $result;
        } catch (PDOException $exception) {
            throw Exception::new($exception);
        }
    }
 
    /**
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
 * @deprecated Use {@link Connection} instead
 */
class PDOConnection extends PDO implements ConnectionInterface, ServerInfoAwareConnection
{
    use PDOQueryImplementation;
 
    /**
     * @internal The connection can be only instantiated by its driver.
     *
     * @param string       $dsn
     * @param string|null  $user
     * @param string|null  $password
     * @param mixed[]|null $options
     *
     * @throws PDOException In case of an error.
     */
    public function __construct($dsn, $user = null, $password = null, ?array $options = null)
    {
        try {
            parent::__construct($dsn, (string) $user, (string) $password, (array) $options);
            $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, [Statement::class, []]);
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $exception) {
            throw Exception::new($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    #[ReturnTypeWillChange]
    public function exec($sql)
    {
        try {
            $result = parent::exec($sql);
            assert($result !== false);
 
            return $result;
        } catch (PDOException $exception) {
            throw Exception::new($exception);
Arguments
  1. "SQLSTATE[08004] [1040] Too many connections"
    
Exception message: SQLSTATE[08004] [1040] Too many connections
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
 * @deprecated Use {@link Connection} instead
 */
class PDOConnection extends PDO implements ConnectionInterface, ServerInfoAwareConnection
{
    use PDOQueryImplementation;
 
    /**
     * @internal The connection can be only instantiated by its driver.
     *
     * @param string       $dsn
     * @param string|null  $user
     * @param string|null  $password
     * @param mixed[]|null $options
     *
     * @throws PDOException In case of an error.
     */
    public function __construct($dsn, $user = null, $password = null, ?array $options = null)
    {
        try {
            parent::__construct($dsn, (string) $user, (string) $password, (array) $options);
            $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, [Statement::class, []]);
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $exception) {
            throw Exception::new($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    #[ReturnTypeWillChange]
    public function exec($sql)
    {
        try {
            $result = parent::exec($sql);
            assert($result !== false);
 
            return $result;
        } catch (PDOException $exception) {
            throw Exception::new($exception);
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Connection/PDOConnection.php
 
use PDO;
 
/**
 * PDO implementation of the Connection interface.
 * Used by all PDO-based drivers.
 *
 * @since 2.0
 */
class PDOConnection extends \Doctrine\DBAL\Driver\PDOConnection
{
    /**
     * @param string      $dsn
     * @param string|null $user
     * @param string|null $password
     * @param array|null  $options
     */
    public function __construct($dsn, $user = null, $password = null, array $options = null)
    {
        parent::__construct($dsn, $user, $password, $options);
        $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('Concrete\Core\Database\Driver\PDOStatement', array()));
        $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
}
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Driver/PDOMySqlConcrete/Driver.php
<?php
namespace Concrete\Core\Database\Driver\PDOMySqlConcrete;
 
use Concrete\Core\Database\Connection\PDOConnection;
use Concrete\Core\Database\Platforms\MySQL80Platform;
use Concrete\Core\Database\Schema\MySqlSchemaManager;
 
/**
 * PDO MySql driver.
 *
 * @since 2.0
 */
class Driver extends \Doctrine\DBAL\Driver\PDOMySql\Driver
{
    public function connect(array $params, $username = null, $password = null, array $driverOptions = [])
    {
        $conn = new PDOConnection(
            $this->_constructPdoDsn($params),
            $username,
            $password,
            $driverOptions
        );
 
        return $conn;
    }
 
    /**
     * {@inheritdoc}
     *
     * @see \Doctrine\DBAL\Driver\AbstractMySQLDriver::createDatabasePlatformForVersion()
     */
    public function createDatabasePlatformForVersion($version)
    {
        if (false === stripos($version, 'mariadb')) {
            if (preg_match('/^(\d+)/', $version, $match)) {
                if ((int) $match[1] >= 8) {
                    return new MySQL80Platform();
                }
            }
        }
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php
        return $this->_expr;
    }
 
    /**
     * Establishes the connection with the database.
     *
     * @return bool TRUE if the connection was successfully established, FALSE if
     *              the connection is already open.
     */
    public function connect()
    {
        if ($this->_conn !== null) {
            return false;
        }
 
        $driverOptions = $this->params['driverOptions'] ?? [];
        $user          = $this->params['user'] ?? null;
        $password      = $this->params['password'] ?? null;
 
        $this->_conn = $this->_driver->connect($this->params, $user, $password, $driverOptions);
 
        $this->transactionNestingLevel = 0;
 
        if ($this->autoCommit === false) {
            $this->beginTransaction();
        }
 
        if ($this->_eventManager->hasListeners(Events::postConnect)) {
            $eventArgs = new Event\ConnectionEventArgs($this);
            $this->_eventManager->dispatchEvent(Events::postConnect, $eventArgs);
        }
 
        return true;
    }
 
    /**
     * Detects and sets the database platform.
     *
     * Evaluates custom platform class and version in order to set the correct platform.
     *
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php
     * @return string|null
     *
     * @throws Throwable
     */
    private function getDatabasePlatformVersion()
    {
        // Driver does not support version specific platforms.
        if (! $this->_driver instanceof VersionAwarePlatformDriver) {
            return null;
        }
 
        // Explicit platform version requested (supersedes auto-detection).
        if (isset($this->params['serverVersion'])) {
            return $this->params['serverVersion'];
        }
 
        // If not connected, we need to connect now to determine the platform version.
        if ($this->_conn === null) {
            try {
                $this->connect();
            } catch (Throwable $originalException) {
                if (empty($this->params['dbname'])) {
                    throw $originalException;
                }
 
                // The database to connect to might not yet exist.
                // Retry detection without database name connection parameter.
                $params = $this->params;
 
                unset($this->params['dbname']);
 
                try {
                    $this->connect();
                } catch (Throwable $fallbackException) {
                    // Either the platform does not support database-less connections
                    // or something else went wrong.
                    throw $originalException;
                } finally {
                    $this->params = $params;
                }
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php
        }
 
        if ($this->_eventManager->hasListeners(Events::postConnect)) {
            $eventArgs = new Event\ConnectionEventArgs($this);
            $this->_eventManager->dispatchEvent(Events::postConnect, $eventArgs);
        }
 
        return true;
    }
 
    /**
     * Detects and sets the database platform.
     *
     * Evaluates custom platform class and version in order to set the correct platform.
     *
     * @throws Exception If an invalid platform was specified for this connection.
     */
    private function detectDatabasePlatform(): AbstractPlatform
    {
        $version = $this->getDatabasePlatformVersion();
 
        if ($version !== null) {
            assert($this->_driver instanceof VersionAwarePlatformDriver);
 
            return $this->_driver->createDatabasePlatformForVersion($version);
        }
 
        return $this->_driver->getDatabasePlatform();
    }
 
    /**
     * Returns the version of the related platform if applicable.
     *
     * Returns null if either the driver is not capable to create version
     * specific platform instances, no explicit server version was specified
     * or the underlying driver connection cannot determine the platform
     * version without having to query it (performance reasons).
     *
     * @return string|null
     *
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php
     * Gets the EventManager used by the Connection.
     *
     * @return EventManager
     */
    public function getEventManager()
    {
        return $this->_eventManager;
    }
 
    /**
     * Gets the DatabasePlatform for the connection.
     *
     * @return AbstractPlatform
     *
     * @throws Exception
     */
    public function getDatabasePlatform()
    {
        if ($this->platform === null) {
            $this->platform = $this->detectDatabasePlatform();
            $this->platform->setEventManager($this->_eventManager);
        }
 
        return $this->platform;
    }
 
    /**
     * Gets the ExpressionBuilder for the connection.
     *
     * @return ExpressionBuilder
     */
    public function getExpressionBuilder()
    {
        return $this->_expr;
    }
 
    /**
     * Establishes the connection with the database.
     *
     * @return bool TRUE if the connection was successfully established, FALSE if
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Connection/ConnectionFactory.php
        if (!isset($params['driverOptions'])) {
            $params['driverOptions'] = [];
        }
        if (defined('PDO::MYSQL_ATTR_MULTI_STATEMENTS')) {
            $params['driverOptions'][\PDO::MYSQL_ATTR_MULTI_STATEMENTS] = false;
        }
        $params['wrapperClass'] = array_get($config, 'wrapperClass', '\Concrete\Core\Database\Connection\Connection');
        unset($params['driver']);
 
        $wrapperClass = 'Doctrine\DBAL\Connection';
        if (isset($params['wrapperClass'])) {
            if (is_subclass_of($params['wrapperClass'], $wrapperClass)) {
                $wrapperClass = $params['wrapperClass'];
            } else {
                throw DBALException::invalidWrapperClass($params['wrapperClass']);
            }
        }
 
        $connection =  new $wrapperClass($params, $driver);
        $connection->getDatabasePlatform()->registerDoctrineTypeMapping('json', 'json_array');
        return $connection;
    }
 
    /**
     * @param $config
     * @param $name
     *
     * @return \Doctrine\DBAL\Connection
     *
     * @throws DBALException
     */
    public function make($config, $name)
    {
        return $this->createConnection($config);
    }
 
    /**
     * @return DriverManager
     */
    public function getDriverManager()
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/Connection/ConnectionFactory.php
                throw DBALException::invalidWrapperClass($params['wrapperClass']);
            }
        }
 
        $connection =  new $wrapperClass($params, $driver);
        $connection->getDatabasePlatform()->registerDoctrineTypeMapping('json', 'json_array');
        return $connection;
    }
 
    /**
     * @param $config
     * @param $name
     *
     * @return \Doctrine\DBAL\Connection
     *
     * @throws DBALException
     */
    public function make($config, $name)
    {
        return $this->createConnection($config);
    }
 
    /**
     * @return DriverManager
     */
    public function getDriverManager()
    {
        return $this->driver_manager;
    }
}
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/DatabaseManager.php
    {
        $config = $this->getConfig($name);
 
        // First we will check by the connection name to see if an extension has been
        // registered specifically for that connection. If it has we will call the
        // Closure and pass it the config allowing it to resolve the connection.
        if (isset($this->extensions[$name])) {
            return call_user_func($this->extensions[$name], $config, $name);
        }
 
        $driver = $config['driver'];
 
        // Next we will check to see if an extension has been registered for a driver
        // and will call the Closure if so, which allows us to have a more generic
        // resolver for the drivers themselves which applies to all connections.
        if (isset($this->extensions[$driver])) {
            return call_user_func($this->extensions[$driver], $config, $name);
        }
 
        return $this->factory->make($config, $name);
    }
 
    /**
     * Prepare the database connection instance.
     *
     * @param Connection $connection
     *
     * @return Connection
     */
    protected function prepare($connection)
    {
        return $connection;
    }
 
    /**
     * Get the configuration for a connection.
     *
     * @param  string $name
     *
     * @return array
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Database/DatabaseManager.php
    public function get()
    {
        return $this->connection();
    }
 
    /**
     * Get a database connection instance.
     *
     * @param  string $name
     *
     * @return \Concrete\Core\Database\Connection\Connection
     */
    public function connection($name = null)
    {
        $name = $name ?: $this->getDefaultConnection();
        // If we haven't created this connection, we'll create it based on the config
        // provided in the application. Once we've created the connections we will
        // set the "fetch mode" for PDO which determines the query return types.
        if (!isset($this->connections[$name])) {
            $connection = $this->makeConnection($name);
            $this->connections[$name] = $this->prepare($connection);
        }
 
        return $this->connections[$name];
    }
 
    /**
     * Disconnect from the given database and remove from local cache.
     *
     * @param  string $name
     */
    public function purge($name = null)
    {
        $this->disconnect($name);
        if (isset($this->connections[$name = $name ?: $this->getDefaultConnection()])) {
            unset($this->connections[$name]);
        }
    }
 
    /**
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Support/Facade/Database.php
    {
        return 'database';
    }
 
    /**
     * This is overridden to allow passthru to `DatabaseManager`'s __call.
     *
     * @param string $method
     * @param array  $args
     *
     * @return mixed
     *
     * @throws \Exception
     */
    public static function __callStatic($method, $args)
    {
        $instance = static::resolveFacadeInstance(static::getFacadeAccessor());
        switch (count($args)) {
            case 0:
                return $instance->$method();
 
            case 1:
                return $instance->$method($args[0]);
 
            case 2:
                return $instance->$method($args[0], $args[1]);
 
            case 3:
                return $instance->$method($args[0], $args[1], $args[2]);
 
            case 4:
                return $instance->$method($args[0], $args[1], $args[2], $args[3]);
 
            default:
                return call_user_func_array(array($instance, $method), $args);
        }
    }
}
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Package/PackageList.php
    public static function refreshCache()
    {
        CacheLocal::delete('packageHandleList', false);
        CacheLocal::delete('pkgList', 1);
        CacheLocal::delete('pkgList', 0);
    }
 
    /**
     * @deprecated
     * @param int $pkgIsInstalled
     * @return static
     */
    public static function get($pkgIsInstalled = 1)
    {
        $pkgList = CacheLocal::getEntry('pkgList', $pkgIsInstalled);
        if ($pkgList != false) {
            return $pkgList;
        }
 
        $em = \Database::connection()->getEntityManager();
        $r = $em->getRepository('\Concrete\Core\Entity\Package');
        $packages = $r->findBy(array('pkgIsInstalled' => true), array('pkgID' => 'asc'));
        $list = new static();
        foreach($packages as $pkg) {
            $list->add($pkg);
        }
 
        CacheLocal::set('pkgList', $pkgIsInstalled, $list);
 
        return $list;
    }
}
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Application/Application.php
        } else {
            $installedVersion = $config->get('concrete.version_installed');
            $coreVersion = $config->get('concrete.version');
            if (version_compare($installedVersion, $coreVersion, '<')) {
                $update = true;
            }
        }
        if ($update) {
            $this->make(MutexInterface::class)->execute(Update::MUTEX_KEY, function () {
                Update::updateToCurrentVersion();
            });
        }
    }
 
    /**
     * Register package autoloaders. Has to come BEFORE session calls.
     */
    public function setupPackageAutoloaders()
    {
        $pla = \Concrete\Core\Package\PackageList::get();
        $pl = $pla->getPackages();
        $cl = ClassLoader::getInstance();
        /** @var \Package[] $pl */
        foreach ($pl as $p) {
            \Config::package($p);
            if ($p->isPackageInstalled()) {
                $pkg = $this->make('Concrete\Core\Package\PackageService')->getClass($p->getPackageHandle());
                if (is_object($pkg) && (!$pkg instanceof \Concrete\Core\Package\BrokenPackage)) {
                    $cl->registerPackage($pkg);
                    $this->packages[] = $pkg;
                }
            }
        }
    }
 
    /**
     * Run startup and localization events on any installed packages.
     */
    public function setupPackages()
    {
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/Boot/DefaultBooter.php
    /**
     * @param \Concrete\Core\Application\Application $app
     * @param \Concrete\Core\Http\Request $request
     *
     * @return null|Response
     */
    private function checkCache(Application $app, Request $request)
    {
        $response = $app->checkPageCache($request);
        if ($response) {
            return $response;
        }
    }
 
    /**
     * @param \Concrete\Core\Application\Application $app
     */
    private function initializePackages(Application $app)
    {
        $app->setupPackageAutoloaders();
    }
}
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/Boot/DefaultBooter.php
        if ($response = $this->checkInstall($app, $request)) {
            return $response;
        }
 
        if ($this->app->isInstalled()) {
            /*
             * ----------------------------------------------------------------------------
             * Check the page cache in case we need to return a result early.
             * ----------------------------------------------------------------------------
             */
            if ($response = $this->checkCache($app, $request)) {
                return $response;
            }
 
            /*
             * ----------------------------------------------------------------------------
             * Now we load all installed packages, and register their package autoloaders.
             * ----------------------------------------------------------------------------
             */
            $this->initializePackages($app);
        }
    }
 
    /**
     * Enable configuration.
     *
     * @param Application $app
     *
     * @return Repository
     */
    private function initializeConfig(Application $app)
    {
        $config_provider = $app->make('Concrete\Core\Config\ConfigServiceProvider');
        $config_provider->register();
 
        /*
         * @var \Concrete\Core\Config\Repository\Repository
         */
        $config = $app->make('config');
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/Boot/DefaultBooter.php
        /*
         * ----------------------------------------------------------------------------
         * Registries for theme paths, assets, routes and file types.
         * ----------------------------------------------------------------------------
         */
        $this->initializeAssets($config);
        $this->initializeRoutes($config);
        $this->initializeFileTypes($config);
 
        /*
         * ----------------------------------------------------------------------------
         * Certain components subscribing to the actions of other components.
         * ----------------------------------------------------------------------------
         */
        $this->initializeEvents($app);
 
 
        // If we're not in the CLI SAPI, lets do additional booting for HTTP
        if (!$this->app->isRunThroughCommandLineInterface()) {
            return $this->bootHttpSapi($config, $app);
        }
    }
 
    /**
     * @param $config
     * @param $app
     *
     * @return null|Response
     */
    private function bootHttpSapi($config, $app)
    {
        /*
         * ----------------------------------------------------------------------------
         * Initialize the request
         * ----------------------------------------------------------------------------
         */
        $request = $this->initializeRequest($config);
 
        /*
         * ----------------------------------------------------------------------------
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/src/Foundation/Runtime/DefaultRuntime.php
    {
        $this->run_class = $run_class;
    }
 
    /**
     * @param string $boot_class
     */
    public function setBootClass($boot_class)
    {
        $this->boot_class = $boot_class;
    }
 
    /**
     * Initialize the environment and prepare for running.
     */
    public function boot()
    {
        $booter = $this->getBooter();
 
        if ($response = $booter->boot()) {
            $this->sendResponse($response);
        } else {
            $this->status = self::STATUS_ACTIVE;
        }
    }
 
    /**
     * Begin the runtime.
     */
    public function run()
    {
        switch ($this->status) {
            case self::STATUS_ENDED:
                // We've already ended, lets just return
                return;
 
            case self::STATUS_INACTIVE:
                throw new \RuntimeException('Runtime has not yet booted.');
        }
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/bootstrap/start.php
 * Handle text encoding.
 * ----------------------------------------------------------------------------
 */
\Patchwork\Utf8\Bootup::initAll();
 
/*
 * ----------------------------------------------------------------------------
 * Instantiate Concrete
 * ----------------------------------------------------------------------------
 */
/** @var \Concrete\Core\Application\Application $app */
$app = require DIR_APPLICATION . '/bootstrap/start.php';
$app->instance('app', $app);
 
// Bind fully application qualified class names
$app->instance('Concrete\Core\Application\Application', $app);
$app->instance('Illuminate\Container\Container', $app);
 
// Boot the runtime
$app->getRuntime()->boot();
 
return $app;
 
/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/dispatcher.php
 * Make sure you cannot call dispatcher.php directly.
 * ----------------------------------------------------------------------------
 */
if (basename($_SERVER['PHP_SELF']) === DISPATCHER_FILENAME_CORE) {
    die('Access Denied.');
}
 
/*
 * ----------------------------------------------------------------------------
 * Include all autoloaders.
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/autoload.php';
 
/*
 * ----------------------------------------------------------------------------
 * Begin Concrete startup.
 * ----------------------------------------------------------------------------
 */
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
 
/*
 * ----------------------------------------------------------------------------
 * Run the runtime.
 * ----------------------------------------------------------------------------
 */
$runtime = $app->getRuntime();
if ($response = $runtime->run()) {
 
    /*
     * ------------------------------------------------------------------------
     * Shut it down.
     * ------------------------------------------------------------------------
     */
    $app->shutdown();
} else {
    return $app;
}
 
Arguments
  1. "/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/bootstrap/start.php"
    
/var/www/vhosts/janecragg.co.uk/httpdocs/index.php
<?php
require 'concrete/dispatcher.php';
 
Arguments
  1. "/var/www/vhosts/janecragg.co.uk/httpdocs/concrete/dispatcher.php"
    

Environment & details:

Key Value
Version
"9.1.1"
Installed Version
"9.1.1"
Key Value
Version
"7.4.33"
Key Value
concrete.version
"9.1.1"
concrete.version_installed
"9.1.1"
concrete.version_db
"20220516191423"
concrete.installed
"true"
concrete.locale
"en_GB"
concrete.charset
"UTF-8"
concrete.charset_bom
""
concrete.maintenance_mode
"false"
concrete.debug.display_errors
"true"
concrete.debug.detail
"debug"
concrete.debug.error_reporting
"null"
concrete.debug.hide_keys
"[***]"
concrete.proxy.host
"null"
concrete.proxy.port
"null"
concrete.proxy.user
"null"
concrete.proxy.password
"***"
concrete.upload.extensions
"*.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.xlsx;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.3gp;*.avi;*.m4v;*.mp4;*.mp3;*.qt;*.ppt;*.pptx;*.kml;*.xml;*.svg;*.webm;*.ogg;*.ogv"
concrete.upload.extensions_denylist
"*.php;*.php2;*.php3;*.php4;*.php5;*.php7;*.php8;*.phtml;*.phar;*.htaccess;*.pl;*.phpsh;*.pht;*.shtml;*.cgi"
concrete.upload.chunking.enabled
"true"
concrete.upload.chunking.chunkSize
"null"
concrete.export.csv.include_bom
"false"
concrete.export.csv.datetime_format
"ATOM"
concrete.interface.panel.page_relations
"false"
concrete.mail.method
"PHP_MAIL"
concrete.mail.methods.smtp.server
""
concrete.mail.methods.smtp.port
""
concrete.mail.methods.smtp.username
""
concrete.mail.methods.smtp.password
""
concrete.mail.methods.smtp.encryption
""
concrete.mail.methods.smtp.messages_per_connection
"null"
concrete.mail.methods.smtp.helo_domain
"localhost"
concrete.cache.enabled
"true"
concrete.cache.lifetime
"21600"
concrete.cache.overrides
"true"
concrete.cache.blocks
"true"
concrete.cache.assets
"false"
concrete.cache.theme_css
"true"
concrete.cache.pages
"false"
concrete.cache.doctrine_dev_mode
"false"
concrete.cache.full_page_lifetime
"default"
concrete.cache.full_page_lifetime_value
"null"
concrete.cache.full_contents_assets_hash
"false"
concrete.cache.directory
"/var/www/vhosts/janecragg.co.uk/httpdocs/application/files/cache"
concrete.cache.directory_relative
"null"
concrete.cache.page.directory
"/var/www/vhosts/janecragg.co.uk/httpdocs/application/files/cache/pages"
concrete.cache.page.adapter
"file"
concrete.cache.levels.overrides.drivers.core_ephemeral.class
"\Stash\Driver\Ephemeral"
concrete.cache.levels.overrides.drivers.core_filesystem.class
"Concrete\Core\Cache\Driver\FileSystemStashDriver"
concrete.cache.levels.overrides.drivers.core_filesystem.options.path
"/var/www/vhosts/janecragg.co.uk/httpdocs/application/files/cache/overrides"
concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions
"493"
concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions
"420"
concrete.cache.levels.overrides.drivers.redis.class
"Concrete\Core\Cache\Driver\RedisStashDriver"
concrete.cache.levels.overrides.drivers.redis.options.prefix
"concrete_overrides"
concrete.cache.levels.overrides.drivers.redis.options.database
"0"
concrete.cache.levels.overrides.preferred_driver
"core_filesystem"
concrete.cache.levels.expensive.drivers.core_ephemeral.class
"\Stash\Driver\Ephemeral"
concrete.cache.levels.expensive.drivers.core_filesystem.class
"Concrete\Core\Cache\Driver\FileSystemStashDriver"
concrete.cache.levels.expensive.drivers.core_filesystem.options.path
"/var/www/vhosts/janecragg.co.uk/httpdocs/application/files/cache/expensive"
concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions
"493"
concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions
"420"
concrete.cache.levels.expensive.drivers.redis.class
"Concrete\Core\Cache\Driver\RedisStashDriver"
concrete.cache.levels.expensive.drivers.redis.options.prefix
"concrete_expensive"
concrete.cache.levels.expensive.drivers.redis.options.database
"0"
concrete.cache.levels.expensive.preferred_driver
"core_filesystem"
concrete.cache.levels.object.drivers.core_ephemeral.class
"\Stash\Driver\Ephemeral"
concrete.cache.levels.object.drivers.redis.class
"Concrete\Core\Cache\Driver\RedisStashDriver"
concrete.cache.levels.object.drivers.redis.options.prefix
"concrete_object"
concrete.cache.levels.object.drivers.redis.options.database
"0"
concrete.cache.levels.object.preferred_driver
"core_ephemeral"
concrete.cache.clear.thumbnails
"false"
concrete.cache.last_cleared
"1648642409"
concrete.design.enable_custom
"true"
concrete.design.enable_layouts
"true"
concrete.processes.logging.method
"none"
concrete.processes.logging.file.directory
""
concrete.processes.scheduler.enable
"false"
concrete.processes.delete_threshold
"7"
concrete.messenger.default_bus
"default"
concrete.messenger.buses.default.default_middleware
"true"
concrete.messenger.routing.Concrete\Core\Foundation\Command\AsyncCommandInterface.0
"async"
concrete.messenger.transports.0
"Concrete\Core\Messenger\Transport\DefaultAsync\DefaultAsyncTransport"
concrete.messenger.transports.1
"Concrete\Core\Messenger\Transport\DefaultAsync\DefaultSyncTransport"
concrete.messenger.consume.method
"app"
concrete.messenger.polling_batch.default
"10"
concrete.messenger.polling_batch.rescan_file
"5"
concrete.messenger.polling_batch.delete_page
"100"
concrete.messenger.polling_batch.delete_page_forever
"100"
concrete.messenger.polling_batch.copy_page
"10"
concrete.events.broadcast.driver
""
concrete.log.emails
"true"
concrete.log.errors
"true"
concrete.log.spam
"false"
concrete.log.api
"false"
concrete.log.enable_dashboard_report
"true"
concrete.log.configuration.mode
"simple"
concrete.log.configuration.simple.core_logging_level
"NOTICE"
concrete.log.configuration.simple.handler
"database"
concrete.log.configuration.simple.file.file
""
concrete.jobs.enable_scheduling
"true"
concrete.filesystem.temp_directory
"null"
concrete.filesystem.permissions.file
"420"
concrete.filesystem.permissions.directory
"493"
concrete.email.enabled
"true"
concrete.email.default.address
"********************************"
concrete.email.default.name
""
concrete.email.form_block.address
"***"
concrete.email.forgot_password.address
"***"
concrete.email.forgot_password.name
"null"
concrete.email.register_notification.address
"null"
concrete.email.register_notification.name
"null"
concrete.email.validate_registration.address
"***"
concrete.email.validate_registration.name
"null"
concrete.email.workflow_notification.address
"***"
concrete.email.workflow_notification.name
"null"
concrete.form.store_form_submissions
"auto"
concrete.marketplace.enabled
"true"
concrete.marketplace.request_timeout
"30"
concrete.marketplace.token
"null"
concrete.marketplace.site_token
"null"
concrete.marketplace.intelligent_search
"true"
concrete.marketplace.log_requests
"false"
concrete.external.intelligent_search_help
"true"
concrete.external.news
"true"
concrete.misc.user_timezones
"false"
concrete.misc.package_backup_directory
"/var/www/vhosts/janecragg.co.uk/httpdocs/application/files/trash"
concrete.misc.display_package_delete_button
"true"
concrete.misc.enable_progressive_page_reindex
"true"
concrete.misc.mobile_theme_id
"0"
concrete.misc.sitemap_approve_immediately
"true"
concrete.misc.enable_translate_locale_en_us
"false"
concrete.misc.page_search_index_lifetime
"259200"
concrete.misc.enable_trash_can
"true"
concrete.misc.default_jpeg_image_compression
"80"
concrete.misc.default_png_image_compression
"9"
concrete.misc.default_thumbnail_format
"auto"
concrete.misc.inplace_image_operations_limit
"4194304"
concrete.misc.basic_thumbnailer_generation_strategy
"now"
concrete.misc.require_version_comments
"false"
concrete.misc.enable_move_blocktypes_across_sets
"false"
concrete.misc.generator_tag_display_in_header
"true"
concrete.misc.login_redirect
"DESKTOP"
concrete.misc.access_entity_updated
"1658411165"
concrete.misc.latest_version
"9.1.2"
concrete.theme.compress_preprocessor_output
"true"
concrete.theme.generate_less_sourcemap
"false"
concrete.updates.enable_auto_update_packages
"false"
concrete.updates.enable_permissions_protection
"true"
concrete.updates.check_threshold
"172800"
concrete.updates.services.get_available_updates
"https://marketplace.concretecms.com/tools/update_core"
concrete.updates.services.inspect_update
"https://marketplace.concretecms.com/tools/inspect_update"
concrete.updates.skip_core
"false"
concrete.paths.trash
"/!trash"
concrete.paths.drafts
"/!drafts"
concrete.icons.page_template.width
"120"
concrete.icons.page_template.height
"90"
concrete.icons.theme_thumbnail.width
"120"
concrete.icons.theme_thumbnail.height
"90"
concrete.icons.file_manager_listing.handle
"file_manager_listing"
concrete.icons.file_manager_listing.width
"120"
concrete.icons.file_manager_listing.height
"120"
concrete.icons.file_manager_detail.handle
"file_manager_detail"
concrete.icons.file_manager_detail.width
"500"
concrete.icons.file_manager_detail.height
"500"
concrete.icons.user_avatar.width
"80"
concrete.icons.user_avatar.height
"80"
concrete.icons.user_avatar.default
"/concrete/images/avatar_none.png"
concrete.file_manager.images.use_exif_data_to_rotate_images
"false"
concrete.file_manager.images.manipulation_library
"gd"
concrete.file_manager.images.create_high_dpi_thumbnails
"true"
concrete.file_manager.images.preview_image_size
"small"
concrete.file_manager.images.preview_image_popover
"true"
concrete.file_manager.images.svg_sanitization.action
"sanitize"
concrete.file_manager.images.svg_sanitization.allowed_tags
""
concrete.file_manager.images.svg_sanitization.allowed_attributes
""
concrete.file_manager.items_per_page_options.0
"10"
concrete.file_manager.items_per_page_options.1
"25"
concrete.file_manager.items_per_page_options.2
"50"
concrete.file_manager.items_per_page_options.3
"100"
concrete.file_manager.items_per_page_options.4
"250"
concrete.file_manager.results
"50"
concrete.search_users.results
"10"
concrete.sitemap_xml.file
"sitemap.xml"
concrete.sitemap_xml.frequency
"weekly"
concrete.sitemap_xml.priority
"0.5"
concrete.accessibility.toolbar_titles
"false"
concrete.accessibility.toolbar_large_font
"false"
concrete.accessibility.toolbar_tooltips
"true"
concrete.i18n.choose_language_login
"false"
concrete.i18n.auto_install_package_languages
"true"
concrete.i18n.community_translation.entry_point
"https://translate.concretecms.org/api"
concrete.i18n.community_translation.api_token
""
concrete.i18n.community_translation.progress_limit
"60"
concrete.i18n.community_translation.cache_lifetime
"3600"
concrete.i18n.community_translation.package_url
"https://translate.concretecms.org/translate/package"
concrete.urls.concrete
"http://marketplace.concretecms.com"
concrete.urls.concrete_secure
"https://marketplace.concretecms.com"
concrete.urls.background_feed
"//backgroundimages.concretecms.com/wallpaper"
concrete.urls.privacy_policy
"//www.concretecms.com/about/legal/privacy-policy"
concrete.urls.background_feed_secure
"https://backgroundimages.concrete5.org/wallpaper"
concrete.urls.background_info
"http://backgroundimages.concretecms.com/get_image_data.php"
concrete.urls.videos
"https://www.youtube.com/user/concrete5cms/videos"
concrete.urls.activity_slots
"https://marketing.concretecms.com/ccm/marketing/activity_slots"
concrete.urls.help.developer
"https://documentation.concretecms.org/developers"
concrete.urls.help.user
"https://documentation.concretecms.org/user-guide"
concrete.urls.help.forum
"https://forums.concretecms.org"
concrete.urls.help.remote_search
"https://documentation.concretecms.org/ccm/documentation/remote_search"
concrete.urls.paths.site_page
"/private/sites"
concrete.urls.paths.marketplace.projects
"/profile/projects/"
concrete.urls.paths.marketplace.connect
"/marketplace/connect"
concrete.urls.paths.marketplace.connect_success
"/marketplace/connect/-/connected"
concrete.urls.paths.marketplace.connect_validate
"/marketplace/connect/-/validate"
concrete.urls.paths.marketplace.connect_new_token
"/marketplace/connect/-/generate_token"
concrete.urls.paths.marketplace.checkout
"/cart/-/add"
concrete.urls.paths.marketplace.purchases
"/marketplace/connect/-/get_available_licenses"
concrete.urls.paths.marketplace.item_information
"/marketplace/connect/-/get_item_information"
concrete.urls.paths.marketplace.item_free_license
"/marketplace/connect/-/enable_free_license"
concrete.urls.paths.marketplace.remote_item_list
"/marketplace/"
concrete.white_label.logo
"false"
concrete.white_label.name
"false"
concrete.white_label.background_image
"feed"
concrete.white_label.background_url
"null"
concrete.session.name
"CONCRETE"
concrete.session.handler
"file"
concrete.session.redis.database
"1"
concrete.session.save_path
"null"
concrete.session.max_lifetime
"7200"
concrete.session.gc_probability
"1"
concrete.session.gc_divisor
"100"
concrete.session.cookie.cookie_path
"false"
concrete.session.cookie.cookie_lifetime
"0"
concrete.session.cookie.cookie_domain
"false"
concrete.session.cookie.cookie_secure
"false"
concrete.session.cookie.cookie_httponly
"true"
concrete.session.cookie.cookie_raw
"false"
concrete.session.cookie.cookie_samesite
"null"
concrete.session.remember_me.lifetime
"1209600"
concrete.user.registration.enabled
"false"
concrete.user.registration.type
"disabled"
concrete.user.registration.captcha
"true"
concrete.user.registration.email_registration
"false"
concrete.user.registration.display_username_field
"true"
concrete.user.registration.display_confirm_password_field
"true"
concrete.user.registration.validate_email
"false"
concrete.user.registration.validate_email_threshold
"5184000"
concrete.user.registration.approval
"false"
concrete.user.registration.notification
"false"
concrete.user.group.badge.default_point_value
"50"
concrete.user.username.maximum
"64"
concrete.user.username.minimum
"3"
concrete.user.username.allowed_characters.boundary
"A-Za-z0-9"
concrete.user.username.allowed_characters.middle
"A-Za-z0-9_\."
concrete.user.username.allowed_characters.requirement_string
"A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end)."
concrete.user.username.allowed_characters.error_string
"A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end)."
concrete.user.password.maximum
"128"
concrete.user.password.minimum
"5"
concrete.user.password.required_special_characters
"0"
concrete.user.password.required_lower_case
"0"
concrete.user.password.required_upper_case
"0"
concrete.user.password.reuse
"0"
concrete.user.password.hash_algorithm
"2y"
concrete.user.password.hash_portable
"false"
concrete.user.password.hash_cost_log2
"12"
concrete.user.password.legacy_salt
""
concrete.user.email.test_mx_record
"false"
concrete.user.email.strict
"true"
concrete.user.private_messages.throttle_max
"20"
concrete.user.private_messages.throttle_max_timespan
"15"
concrete.user.deactivation.enable_login_threshold_deactivation
"false"
concrete.user.deactivation.login.threshold
"120"
concrete.user.deactivation.authentication_failure.enabled
"false"
concrete.user.deactivation.authentication_failure.amount
"5"
concrete.user.deactivation.authentication_failure.duration
"300"
concrete.user.deactivation.message
"This user is inactive. Please contact us regarding this account."
concrete.spam.allowlist_group
"0"
concrete.spam.notify_email
""
concrete.calendar.colors.text
"#ffffff"
concrete.calendar.colors.background
"#3A87AD"
concrete.security.session.invalidate_on_user_agent_mismatch
"true"
concrete.security.session.invalidate_on_ip_mismatch
"true"
concrete.security.session.invalidate_inactive_users.enabled
"false"
concrete.security.session.invalidate_inactive_users.time
"300"
concrete.security.misc.content_security_policy
"false"
concrete.security.misc.strict_transport_security
"false"
concrete.security.misc.x_frame_options
"SAMEORIGIN"
concrete.permissions.forward_to_login
"true"
concrete.permissions.model
"simple"
concrete.seo.exclude_words
"a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with"
concrete.seo.url_rewriting
"false"
concrete.seo.url_rewriting_all
"false"
concrete.seo.redirect_to_canonical_url
"false"
concrete.seo.canonical_url
"null"
concrete.seo.canonical_url_alternative
"null"
concrete.seo.trailing_slash
"false"
concrete.seo.title_format
"%2$s :: %1$s"
concrete.seo.title_segment_separator
" :: "
concrete.seo.page_path_separator
"-"
concrete.seo.group_name_separator
" / "
concrete.seo.segment_max_length
"128"
concrete.seo.paging_string
"ccm_paging_p"
concrete.statistics.track_downloads
"true"
concrete.limits.sitemap_pages
"100"
concrete.limits.page_search_index_batch
"200"
concrete.limits.job_queue_batch
"10"
concrete.limits.style_customizer.size_min
"-50"
concrete.limits.style_customizer.size_max
"200"
concrete.page.search.always_reindex
"false"
concrete.composer.idle_timeout
"1"
concrete.api.enabled
"false"
concrete.api.grant_types.client_credentials
"true"
concrete.api.grant_types.authorization_code
"true"
concrete.api.grant_types.password_credentials
"false"
concrete.api.grant_types.refresh_token
"true"
concrete.notification.server_sent_events
"false"
concrete.mutex.semaphore.priority
"100"
concrete.mutex.semaphore.class
"Concrete\Core\System\Mutex\SemaphoreMutex"
concrete.mutex.file_lock.priority
"50"
concrete.mutex.file_lock.class
"Concrete\Core\System\Mutex\FileLockMutex"
concrete.version_db_installed
"20220516191423"
Key Value
ufaq
"30e-per-year"
empty
empty
empty
empty
Key Value
USER
"janecraggweb"
HOME
"/var/www/vhosts/janecragg.co.uk"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/?ufaq=30e-per-year"
QUERY_STRING
"ufaq=30e-per-year"
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.0"
GATEWAY_INTERFACE
"CGI/1.1"
REMOTE_PORT
"39438"
SCRIPT_FILENAME
"/var/www/vhosts/janecragg.co.uk/httpdocs/index.php"
SERVER_ADMIN
"root@localhost"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/janecragg.co.uk/httpdocs"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/var/www/vhosts/janecragg.co.uk/httpdocs"
REMOTE_ADDR
"3.89.56.228"
SERVER_PORT
"443"
SERVER_ADDR
"10.10.27.151"
SERVER_NAME
"www.janecragg.co.uk"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_X_PROXY_ID
"prx1.i-com.co"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_CONNECTION
"close"
HTTP_X_ACCEL_INTERNAL
"/internal-nginx-static-location"
HTTP_X_FORWARDED_FOR
"3.89.56.228"
HTTP_X_REAL_IP
"3.89.56.228"
HTTP_HOST
"www.janecragg.co.uk"
proxy-nokeepalive
"1"
HTTPS
"on"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PERL5LIB
"/usr/share/awstats/lib:/usr/share/awstats/plugins"
UNIQUE_ID
"ZgYdcdAxPoDemGFb22NECgAAAgg"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711676785.5654
REQUEST_TIME
1711676785
empty
0. Concrete\Core\Error\Handler\ErrorHandler
1. Concrete\Core\Error\Handler\JsonErrorHandler