d = $hostname = $database = null; $options = []; foreach ($this->connectionParameters as $key => $value) { switch (strtolower($key)) { case 'dsn': $dsn = $value; break; case 'driver': $value = strtolower((string) $value); if (strpos($value, 'pdo') === 0) { $pdoDriver = str_replace(['-', '_', ' '], '', $value); $pdoDriver = substr($pdoDriver, 3) ?: ''; } break; case 'pdodriver': $pdoDriver = (string) $value; break; case 'user': case 'username': $username = (string) $value; break; case 'pass': case 'password': $password = (string) $value; break; case 'host': case 'hostname': $hostname = (string) $value; break; case 'port': $port = (int) $value; break; case 'database': case 'dbname': $database = (string) $value; break; case 'charset': $charset = (string) $value; break; case 'unix_socket': $unixSocket = (string) $value; break; case 'version': $version = (string) $value; break; case 'driver_options': case 'options': $value = (array) $value; $options = array_diff_key($options, $value) + $value; break; default: $options[$key] = $value; break; } } if (isset($hostname) && isset($unixSocket)) { throw new Exception\InvalidConnectionParametersException( 'Ambiguous connection parameters, both hostname and unix_socket parameters were set', $this->connectionParameters ); } if (! isset($dsn) && isset($pdoDriver)) { $dsn = []; switch ($pdoDriver) { case 'sqlite': $dsn[] = $database; break; case 'sqlsrv': if (isset($database)) { $dsn[] = "database={$database}"; } if (isset($hostname)) { $dsn[] = "server={$hostname}"; } break; default: if (isset($database)) { $dsn[] = "dbname={$database}"; } if (isset($hostname)) { $dsn[] = "host={$hostname}"; } if (isset($port)) { $dsn[] = "port={$port}"; } if (isset($charset) && $pdoDriver !== 'pgsql') { $dsn[] = "charset={$charset}"; } if (isset($unixSocket)) { $dsn[] = "unix_socket={$unixSocket}"; } if (isset($version)) { $dsn[] = "version={$version}"; } break; } $dsn = $pdoDriver . ':' . implode(';', $dsn); } elseif (! isset($dsn)) { throw new Exception\InvalidConnectionParametersException( 'A dsn was not provided or could not be constructed from your parameters', $this->connectionParameters ); } $this->dsn = $dsn; try { $this->resource = new \PDO($dsn, $username, $password, $options); $this->resource->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); if (isset($charset) && $pdoDriver === 'pgsql') { $this->resource->exec('SET NAMES ' . $this->resource->quote($charset)); } $this->driverName = strtolower($this->resource->getAttribute(\PDO::ATTR_DRIVER_NAME)); } catch (PDOException $e) { $code = $e->getCode(); if (! is_int($code)) { $code = 0; } throw new Exception\RuntimeException('Connect Error: ' . $e->getMessage(), $code, $e); } return $this; } /** * {@inheritDoc} */ public function isConnected() { return $this->resource instanceof \PDO; } /** * {@inheritDoc} */ public function beginTransaction() { if (! $this->isConnected()) { $this->connect(); } if (0 === $this->nestedTransactionsCount) { $this->resource->beginTransaction(); $this->inTransaction = true; } $this->nestedTransactionsCount ++; return $this; } /** * {@inheritDoc} */ public function commit() { if (! $this->isConnected()) { $this->connect(); } if ($this->inTransaction) { $this->nestedTransactionsCount -= 1; } /* * This shouldn't check for being in a transaction since * after issuing a SET autocommit=0; we have to commit too. */ if (0 === $this->nestedTransactionsCount) { $this->resource->commit(); $this->inTransaction = false; } return $this; } /** * {@inheritDoc} * * @throws Exception\RuntimeException */ public function rollback() { if (! $this->isConnected()) { throw new Exception\RuntimeException('Must be connected before you can rollback'); } if (! $this->inTransaction()) { throw new Exception\RuntimeException('Must call beginTransaction() before you can rollback'); } $this->resource->rollBack(); $this->inTransaction = false; $this->nestedTransactionsCount = 0; return $this; } /** * {@inheritDoc} * * @throws Exception\InvalidQueryException */ public function execute($sql) { if (! $this->isConnected()) { $this->connect(); } if ($this->profiler) { $this->profiler->profilerStart($sql); } $resultResource = $this->resource->query($sql); if ($this->profiler) { $this->profiler->profilerFinish($sql); } if ($resultResource === false) { $errorInfo = $this->resource->errorInfo(); throw new Exception\InvalidQueryException($errorInfo[2]); } return $this->driver->createResult($resultResource, $sql); } /** * Prepare * * @param string $sql * @return Statement */ public function prepare($sql) { if (! $this->isConnected()) { $this->connect(); } return $this->driver->createStatement($sql); } /** * {@inheritDoc} * * @param string $name * @return string|null|false */ public function getLastGeneratedValue($name = null) { if ( $name === null && ($this->driverName === 'pgsql' || $this->driverName === 'firebird') ) { return; } try { return $this->resource->lastInsertId($name); } catch (\Exception $e) { // do nothing } return false; } } d = $hostname = $database = null; $options = []; foreach ($this->connectionParameters as $key => $value) { switch (strtolower($key)) { case 'dsn': $dsn = $value; break; case 'driver': $value = strtolower((string) $value); if (strpos($value, 'pdo') === 0) { $pdoDriver = str_replace(['-', '_', ' '], '', $value); $pdoDriver = substr($pdoDriver, 3) ?: ''; } break; case 'pdodriver': $pdoDriver = (string) $value; break; case 'user': case 'username': $username = (string) $value; break; case 'pass': case 'password': $password = (string) $value; break; case 'host': case 'hostname': $hostname = (string) $value; break; case 'port': $port = (int) $value; break; case 'database': case 'dbname': $database = (string) $value; break; case 'charset': $charset = (string) $value; break; case 'unix_socket': $unixSocket = (string) $value; break; case 'version': $version = (string) $value; break; case 'driver_options': case 'options': $value = (array) $value; $options = array_diff_key($options, $value) + $value; break; default: $options[$key] = $value; break; } } if (isset($hostname) && isset($unixSocket)) { throw new Exception\InvalidConnectionParametersException( 'Ambiguous connection parameters, both hostname and unix_socket parameters were set', $this->connectionParameters ); } if (! isset($dsn) && isset($pdoDriver)) { $dsn = []; switch ($pdoDriver) { case 'sqlite': $dsn[] = $database; break; case 'sqlsrv': if (isset($database)) { $dsn[] = "database={$database}"; } if (isset($hostname)) { $dsn[] = "server={$hostname}"; } break; default: if (isset($database)) { $dsn[] = "dbname={$database}"; } if (isset($hostname)) { $dsn[] = "host={$hostname}"; } if (isset($port)) { $dsn[] = "port={$port}"; } if (isset($charset) && $pdoDriver !== 'pgsql') { $dsn[] = "charset={$charset}"; } if (isset($unixSocket)) { $dsn[] = "unix_socket={$unixSocket}"; } if (isset($version)) { $dsn[] = "version={$version}"; } break; } $dsn = $pdoDriver . ':' . implode(';', $dsn); } elseif (! isset($dsn)) { throw new Exception\InvalidConnectionParametersException( 'A dsn was not provided or could not be constructed from your parameters', $this->connectionParameters ); } $this->dsn = $dsn; try { $this->resource = new \PDO($dsn, $username, $password, $options); $this->resource->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); if (isset($charset) && $pdoDriver === 'pgsql') { $this->resource->exec('SET NAMES ' . $this->resource->quote($charset)); } $this->driverName = strtolower($this->resource->getAttribute(\PDO::ATTR_DRIVER_NAME)); } catch (PDOException $e) { $code = $e->getCode(); if (! is_int($code)) { $code = 0; } throw new Exception\RuntimeException('Connect Error: ' . $e->getMessage(), $code, $e); } return $this; } /** * {@inheritDoc} */ public function isConnected() { return $this->resource instanceof \PDO; } /** * {@inheritDoc} */ public function beginTransaction() { if (! $this->isConnected()) { $this->connect(); } if (0 === $this->nestedTransactionsCount) { $this->resource->beginTransaction(); $this->inTransaction = true; } $this->nestedTransactionsCount ++; return $this; } /** * {@inheritDoc} */ public function commit() { if (! $this->isConnected()) { $this->connect(); } if ($this->inTransaction) { $this->nestedTransactionsCount -= 1; } /* * This shouldn't check for being in a transaction since * after issuing a SET autocommit=0; we have to commit too. */ if (0 === $this->nestedTransactionsCount) { $this->resource->commit(); $this->inTransaction = false; } return $this; } /** * {@inheritDoc} * * @throws Exception\RuntimeException */ public function rollback() { if (! $this->isConnected()) { throw new Exception\RuntimeException('Must be connected before you can rollback'); } if (! $this->inTransaction()) { throw new Exception\RuntimeException('Must call beginTransaction() before you can rollback'); } $this->resource->rollBack(); $this->inTransaction = false; $this->nestedTransactionsCount = 0; return $this; } /** * {@inheritDoc} * * @throws Exception\InvalidQueryException */ public function execute($sql) { if (! $this->isConnected()) { $this->connect(); } if ($this->profiler) { $this->profiler->profilerStart($sql); } $resultResource = $this->resource->query($sql); if ($this->profiler) { $this->profiler->profilerFinish($sql); } if ($resultResource === false) { $errorInfo = $this->resource->errorInfo(); throw new Exception\InvalidQueryException($errorInfo[2]); } return $this->driver->createResult($resultResource, $sql); } /** * Prepare * * @param string $sql * @return Statement */ public function prepare($sql) { if (! $this->isConnected()) { $this->connect(); } return $this->driver->createStatement($sql); } /** * {@inheritDoc} * * @param string $name * @return string|null|false */ public function getLastGeneratedValue($name = null) { if ( $name === null && ($this->driverName === 'pgsql' || $this->driverName === 'firebird') ) { return; } try { return $this->resource->lastInsertId($name); } catch (\Exception $e) { // do nothing } return false; } }

An error occurred

An error occurred during execution; please try again later.


Additional information:

Error

File:
/home/metaseit/vendor/laminas/laminas-db/src/Adapter/Driver/Pdo/Pdo.php:58
Message:
Class "Laminas\Db\Adapter\Driver\Pdo\Connection" not found
Stack trace:
#0 /home/metaseit/vendor/laminas/laminas-db/src/Adapter/Adapter.php(317): Laminas\Db\Adapter\Driver\Pdo\Pdo->__construct(Array)
#1 /home/metaseit/vendor/laminas/laminas-db/src/Adapter/Adapter.php(73): Laminas\Db\Adapter\Adapter->createDriver(Array)
#2 /home/metaseit/vendor/laminas/laminas-db/src/Adapter/AdapterAbstractServiceFactory.php(61): Laminas\Db\Adapter\Adapter->__construct(Array)
#3 /home/metaseit/vendor/laminas/laminas-servicemanager/src/ServiceManager.php(642): Laminas\Db\Adapter\AdapterAbstractServiceFactory->__invoke(Object(Laminas\ServiceManager\ServiceManager), 'adapterLcM', NULL)
#4 /home/metaseit/vendor/laminas/laminas-servicemanager/src/ServiceManager.php(264): Laminas\ServiceManager\ServiceManager->doCreate('adapterLcM')
#5 /home/metaseit/module/Metaseiten/src/Controller/IndexController.php(18): Laminas\ServiceManager\ServiceManager->get('adapterLcM')
#6 /home/metaseit/module/Metaseiten/src/Controller/IndexControllerFactory.php(26): Metaseiten\Controller\IndexController->__construct(Object(Laminas\ServiceManager\ServiceManager))
#7 /home/metaseit/vendor/laminas/laminas-servicemanager/src/ServiceManager.php(642): Metaseiten\Controller\IndexControllerFactory->__invoke(Object(Laminas\ServiceManager\ServiceManager), 'Metaseiten\\Cont...', NULL)
#8 /home/metaseit/vendor/laminas/laminas-servicemanager/src/ServiceManager.php(236): Laminas\ServiceManager\ServiceManager->doCreate('Metaseiten\\Cont...')
#9 /home/metaseit/vendor/laminas/laminas-servicemanager/src/AbstractPluginManager.php(169): Laminas\ServiceManager\ServiceManager->get('Metaseiten\\Cont...')
#10 /home/metaseit/vendor/laminas/laminas-mvc/src/DispatchListener.php(90): Laminas\ServiceManager\AbstractPluginManager->get('Metaseiten\\Cont...')
#11 /home/metaseit/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\Mvc\DispatchListener->onDispatch(Object(Laminas\Mvc\MvcEvent))
#12 /home/metaseit/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners(Object(Laminas\Mvc\MvcEvent), Object(Closure))
#13 /home/metaseit/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\Mvc\MvcEvent))
#14 /home/metaseit/public_html/schweizer-geschichten.ch/index.php(30): Laminas\Mvc\Application->run()
#15 {main}