$this->options['driverOptions'] ); } catch (\PDOException $e) { throw new ConnectionFailureException('Could not connect to PDO: ' . $e->getMessage(), $e->getCode(), $e); } $this->setOption(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $this->dispatchEvent(new ConnectionEvent(DatabaseEvents::POST_CONNECT, $this)); } try { // Try to connect to MySQL parent::connect(); } catch (ConnectionFailureException $e) { // If the connection failed, but not because of the wrong character set, then bubble up the exception. if (!$this->utf8mb4) * @since 1.0 * @throws \InvalidArgumentException */ public function setQuery($query, $offset = 0, $limit = 0) { $this->connect(); $this->freeResult(); if (\is_string($query)) { ) ->bind(':currentDate2', $currentDate) ->order($this->db->quoteName('m.lft')); $items = []; $iterator = $this->db->setQuery($query)->getIterator(); foreach ($iterator as $item) { $items[$item->id] = new MenuItem((array) $item); } $coptions['nomodules'] = $woptions['nomodules'] ?? 1; ob_start(); ob_implicit_flush(false); $result = \call_user_func_array($callback, $referenceArgs); $output = ob_get_clean(); $data = array('result' => $result); if ($wrkarounds) try { /** @var CallbackController $cache */ $cache = $this->getCacheControllerFactory()->createCacheController('callback', ['defaultgroup' => 'com_menus']); $this->items = $cache->get($loader, array(), md5(\get_class($this)), false); } catch (CacheExceptionInterface $e) { try { $this->items = $loader(); } catch (ExecutionFailureException $databaseException) { $this->app->enqueueMessage(Text::sprintf('JERROR_LOADING_MENUS', $databaseException->getMessage()), 'warning'); * @since 1.5 */ public function getMenu() { if (!$this->itemsLoaded) { $this->load(); foreach ($this->items as $item) { if ($item->home) { $this->default[trim($item->language)] = $item->id; } */ public function getItem($id) { $result = null; if (isset($this->getMenu()[$id])) { $result = &$this->getMenu()[$id]; } return $result; } // Get the id of the active menu item $menu = $this->getMenu(); $item = $menu->getActive(); if (!$item) { $item = $menu->getItem($this->input->getInt('Itemid', null)); } $id = 0; if (\is_object($item)) { public function render(\Throwable $error): string { $app = Factory::getApplication(); // Get the current template from the application $template = $app->getTemplate(true); // Push the error object into the document $this->getDocument()->setError($error); // Add registry file for the template asset // Reset the document object in the factory, this gives us a clean slate and lets everything render properly Factory::$document = $renderer->getDocument(); Factory::getApplication()->loadDocument(Factory::$document); $data = $renderer->render($error); // If nothing was rendered, just use the message from the Exception if (empty($data)) { $data = $error->getMessage(); } * @since 3.10.0 */ public static function handleException(\Throwable $error) { static::logException($error); static::render($error); } /** * Render the error page based on an exception. * ); // Trigger the onError event. $this->triggerEvent('onError', $event); ExceptionHandler::handleException($event->getError()); } // Trigger the onBeforeRespond event. $this->getDispatcher()->dispatch('onBeforeRespond');// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php'; { $this->connection = new \PDO( $connectionString, $this->options['user'], $this->options['password'], $this->options['driverOptions'] ); } catch (\PDOException $e) { throw new ConnectionFailureException('Could not connect to PDO: ' . $e->getMessage(), $e->getCode(), $e); { $this->connection = new \PDO( $connectionString, $this->options['user'], $this->options['password'], $this->options['driverOptions'] ); } catch (\PDOException $e) { throw new ConnectionFailureException('Could not connect to PDO: ' . $e->getMessage(), $e->getCode(), $e); } try { // Try to connect to MySQL parent::connect(); } catch (ConnectionFailureException $e) { // If the connection failed, but not because of the wrong character set, then bubble up the exception. if (!$this->utf8mb4) * @since 1.0 * @throws \InvalidArgumentException */ public function setQuery($query, $offset = 0, $limit = 0) { $this->connect(); $this->freeResult(); if (\is_string($query)) { ) ->bind(':currentDate2', $currentDate) ->order($this->db->quoteName('m.lft')); $items = []; $iterator = $this->db->setQuery($query)->getIterator(); foreach ($iterator as $item) { $items[$item->id] = new MenuItem((array) $item); } $coptions['nomodules'] = $woptions['nomodules'] ?? 1; ob_start(); ob_implicit_flush(false); $result = \call_user_func_array($callback, $referenceArgs); $output = ob_get_clean(); $data = array('result' => $result); if ($wrkarounds) try { /** @var CallbackController $cache */ $cache = $this->getCacheControllerFactory()->createCacheController('callback', ['defaultgroup' => 'com_menus']); $this->items = $cache->get($loader, array(), md5(\get_class($this)), false); } catch (CacheExceptionInterface $e) { try { $this->items = $loader(); } catch (ExecutionFailureException $databaseException) { $this->app->enqueueMessage(Text::sprintf('JERROR_LOADING_MENUS', $databaseException->getMessage()), 'warning'); * @since 1.5 */ public function getMenu() { if (!$this->itemsLoaded) { $this->load(); foreach ($this->items as $item) { if ($item->home) { $this->default[trim($item->language)] = $item->id; } */ public function getItem($id) { $result = null; if (isset($this->getMenu()[$id])) { $result = &$this->getMenu()[$id]; } return $result; } // Get the id of the active menu item $menu = $this->getMenu(); $item = $menu->getActive(); if (!$item) { $item = $menu->getItem($this->input->getInt('Itemid', null)); } $id = 0; if (\is_object($item)) { public function render(\Throwable $error): string { $app = Factory::getApplication(); // Get the current template from the application $template = $app->getTemplate(true); // Push the error object into the document $this->getDocument()->setError($error); // Add registry file for the template asset // Reset the document object in the factory, this gives us a clean slate and lets everything render properly Factory::$document = $renderer->getDocument(); Factory::getApplication()->loadDocument(Factory::$document); $data = $renderer->render($error); // If nothing was rendered, just use the message from the Exception if (empty($data)) { $data = $error->getMessage(); } * @since 3.10.0 */ public static function handleException(\Throwable $error) { static::logException($error); static::render($error); } /** * Render the error page based on an exception. * ); // Trigger the onError event. $this->triggerEvent('onError', $event); ExceptionHandler::handleException($event->getError()); } // Trigger the onBeforeRespond event. $this->getDispatcher()->dispatch('onBeforeRespond');// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php'; $this->options['driverOptions'] ); } catch (\PDOException $e) { throw new ConnectionFailureException('Could not connect to PDO: ' . $e->getMessage(), $e->getCode(), $e); } $this->setOption(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $this->dispatchEvent(new ConnectionEvent(DatabaseEvents::POST_CONNECT, $this)); * will have learned that the client end of the connection does not support utf8mb4. */ $this->utf8mb4 = false; $this->options['charset'] = 'utf8'; parent::connect(); } $serverVersion = $this->getVersion(); $this->mariadb = stripos($serverVersion, 'mariadb') !== false; * @since 2.0.0 */ #[\ReturnTypeWillChange] public function open($save_path, $session_id) { $this->db->connect(); return true; } /** throw new \RuntimeException( sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line) ); } if (!session_start()) { throw new \RuntimeException('Failed to start the session'); } $this->isActive(); $this->setId($session_clean); $cookie->set($session_name, '', time() - 3600); } } parent::start(); // Try loading data from the session if (isset($_SESSION['joomla']) && !empty($_SESSION['joomla'])) { $this->data = unserialize(base64_decode($_SESSION['joomla'])); } if ($this->isStarted()) { return; } $this->store->start(); $this->setState(SessionState::ACTIVE); // Initialise the session $this->setCounter(); */ public function has($name) { if (!$this->isActive()) { $this->start(); } return $this->store->has($name); } $name = $args[2] . '.' . $name; } } if (parent::has($name)) { // Parent is used because of b/c, can be changed in Joomla 5 return parent::get($name, $default); } /* __CLASS__ ), E_USER_DEPRECATED ); $instance = self::getApplication()->getSession()->get('user'); if (\is_null($id)) { if (!($instance instanceof User)) { $instance = User::getInstance(); } * * @since 3.2 */ protected function initialiseApp($options = array()) { $user = Factory::getUser(); // If the user is a guest we populate it with the guest user group. if ($user->guest) { $guestUsergroup = ComponentHelper::getParams('com_users')->get('guest_usergroup', 1); $user->groups = array($guestUsergroup); * @since 3.2 */ protected function doExecute() { // Initialise the application $this->initialiseApp(); // Mark afterInitialise in the profiler. JDEBUG ? $this->profiler->mark('afterInitialise') : null; // Route the application $this->sanityCheckSystemVariables(); $this->setupLogging(); $this->createExtensionNamespaceMap(); // Perform application routines. $this->doExecute(); // If we have an application document object, render it. if ($this->document instanceof \Joomla\CMS\Document\Document) { // Render the application output. $this->render();// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php'; { $this->connection = new \PDO( $connectionString, $this->options['user'], $this->options['password'], $this->options['driverOptions'] ); } catch (\PDOException $e) { throw new ConnectionFailureException('Could not connect to PDO: ' . $e->getMessage(), $e->getCode(), $e); { $this->connection = new \PDO( $connectionString, $this->options['user'], $this->options['password'], $this->options['driverOptions'] ); } catch (\PDOException $e) { throw new ConnectionFailureException('Could not connect to PDO: ' . $e->getMessage(), $e->getCode(), $e); * will have learned that the client end of the connection does not support utf8mb4. */ $this->utf8mb4 = false; $this->options['charset'] = 'utf8'; parent::connect(); } $serverVersion = $this->getVersion(); $this->mariadb = stripos($serverVersion, 'mariadb') !== false; * @since 2.0.0 */ #[\ReturnTypeWillChange] public function open($save_path, $session_id) { $this->db->connect(); return true; } /** throw new \RuntimeException( sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line) ); } if (!session_start()) { throw new \RuntimeException('Failed to start the session'); } $this->isActive(); $this->setId($session_clean); $cookie->set($session_name, '', time() - 3600); } } parent::start(); // Try loading data from the session if (isset($_SESSION['joomla']) && !empty($_SESSION['joomla'])) { $this->data = unserialize(base64_decode($_SESSION['joomla'])); } if ($this->isStarted()) { return; } $this->store->start(); $this->setState(SessionState::ACTIVE); // Initialise the session $this->setCounter(); */ public function has($name) { if (!$this->isActive()) { $this->start(); } return $this->store->has($name); } $name = $args[2] . '.' . $name; } } if (parent::has($name)) { // Parent is used because of b/c, can be changed in Joomla 5 return parent::get($name, $default); } /* __CLASS__ ), E_USER_DEPRECATED ); $instance = self::getApplication()->getSession()->get('user'); if (\is_null($id)) { if (!($instance instanceof User)) { $instance = User::getInstance(); } * * @since 3.2 */ protected function initialiseApp($options = array()) { $user = Factory::getUser(); // If the user is a guest we populate it with the guest user group. if ($user->guest) { $guestUsergroup = ComponentHelper::getParams('com_users')->get('guest_usergroup', 1); $user->groups = array($guestUsergroup); * @since 3.2 */ protected function doExecute() { // Initialise the application $this->initialiseApp(); // Mark afterInitialise in the profiler. JDEBUG ? $this->profiler->mark('afterInitialise') : null; // Route the application $this->sanityCheckSystemVariables(); $this->setupLogging(); $this->createExtensionNamespaceMap(); // Perform application routines. $this->doExecute(); // If we have an application document object, render it. if ($this->document instanceof \Joomla\CMS\Document\Document) { // Render the application output. $this->render();// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php';|
[4/4]
ConnectionFailureException
|
|---|
Joomla\Database\Exception\ConnectionFailureException:
Could not connect to PDO: SQLSTATE[HY000] [2002] Connection refused
at /home/micromin/www/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php:364
at Joomla\Database\Pdo\PdoDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php:180)
at Joomla\Database\Mysql\MysqlDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/database/src/DatabaseDriver.php:1854)
at Joomla\Database\DatabaseDriver->setQuery(object(MysqlQuery))
(/home/micromin/www/libraries/src/Menu/SiteMenu.php:166)
at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}()
(/home/micromin/www/libraries/src/Cache/Controller/CallbackController.php:132)
at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false)
(/home/micromin/www/libraries/src/Menu/SiteMenu.php:179)
at Joomla\CMS\Menu\SiteMenu->load()
(/home/micromin/www/libraries/src/Menu/AbstractMenu.php:323)
at Joomla\CMS\Menu\AbstractMenu->getMenu()
(/home/micromin/www/libraries/src/Menu/AbstractMenu.php:160)
at Joomla\CMS\Menu\AbstractMenu->getItem(null)
(/home/micromin/www/libraries/src/Application/SiteApplication.php:412)
at Joomla\CMS\Application\SiteApplication->getTemplate(true)
(/home/micromin/www/libraries/src/Error/Renderer/HtmlRenderer.php:50)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(ConnectionFailureException))
(/home/micromin/www/libraries/src/Exception/ExceptionHandler.php:121)
at Joomla\CMS\Exception\ExceptionHandler::render(object(ConnectionFailureException))
(/home/micromin/www/libraries/src/Exception/ExceptionHandler.php:72)
at Joomla\CMS\Exception\ExceptionHandler::handleException(object(ConnectionFailureException))
(/home/micromin/www/libraries/src/Application/CMSApplication.php:323)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/micromin/www/includes/app.php:61)
at require_once('/home/micromin/www/includes/app.php')
(/home/micromin/www/index.php:31)
|
|
[3/4]
PDOException
|
|---|
PDOException:
SQLSTATE[HY000] [2002] Connection refused
at /home/micromin/www/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php:359
at PDO->__construct('mysql:host=microminafm.mysql.db;port=3306;dbname=microminafm;charset=utf8', 'microminafm', 'a23j75v', array())
(/home/micromin/www/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php:359)
at Joomla\Database\Pdo\PdoDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php:180)
at Joomla\Database\Mysql\MysqlDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/database/src/DatabaseDriver.php:1854)
at Joomla\Database\DatabaseDriver->setQuery(object(MysqlQuery))
(/home/micromin/www/libraries/src/Menu/SiteMenu.php:166)
at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}()
(/home/micromin/www/libraries/src/Cache/Controller/CallbackController.php:132)
at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false)
(/home/micromin/www/libraries/src/Menu/SiteMenu.php:179)
at Joomla\CMS\Menu\SiteMenu->load()
(/home/micromin/www/libraries/src/Menu/AbstractMenu.php:323)
at Joomla\CMS\Menu\AbstractMenu->getMenu()
(/home/micromin/www/libraries/src/Menu/AbstractMenu.php:160)
at Joomla\CMS\Menu\AbstractMenu->getItem(null)
(/home/micromin/www/libraries/src/Application/SiteApplication.php:412)
at Joomla\CMS\Application\SiteApplication->getTemplate(true)
(/home/micromin/www/libraries/src/Error/Renderer/HtmlRenderer.php:50)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(ConnectionFailureException))
(/home/micromin/www/libraries/src/Exception/ExceptionHandler.php:121)
at Joomla\CMS\Exception\ExceptionHandler::render(object(ConnectionFailureException))
(/home/micromin/www/libraries/src/Exception/ExceptionHandler.php:72)
at Joomla\CMS\Exception\ExceptionHandler::handleException(object(ConnectionFailureException))
(/home/micromin/www/libraries/src/Application/CMSApplication.php:323)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/micromin/www/includes/app.php:61)
at require_once('/home/micromin/www/includes/app.php')
(/home/micromin/www/index.php:31)
|
|
[2/4]
ConnectionFailureException
|
|---|
Joomla\Database\Exception\ConnectionFailureException:
Could not connect to PDO: SQLSTATE[HY000] [2002] Connection refused
at /home/micromin/www/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php:364
at Joomla\Database\Pdo\PdoDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php:197)
at Joomla\Database\Mysql\MysqlDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:233)
at Joomla\Session\Handler\DatabaseHandler->open('/tmp', 'd4bed3de310211c93d877350289bce81')
at session_start()
(/home/micromin/www/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:478)
at Joomla\Session\Storage\NativeStorage->start()
(/home/micromin/www/libraries/src/Session/Storage/JoomlaStorage.php:295)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/home/micromin/www/libraries/vendor/joomla/session/src/Session.php:406)
at Joomla\Session\Session->start()
(/home/micromin/www/libraries/vendor/joomla/session/src/Session.php:333)
at Joomla\Session\Session->has('user')
(/home/micromin/www/libraries/src/Session/Session.php:191)
at Joomla\CMS\Session\Session->get('user')
(/home/micromin/www/libraries/src/Factory.php:334)
at Joomla\CMS\Factory::getUser()
(/home/micromin/www/libraries/src/Application/SiteApplication.php:552)
at Joomla\CMS\Application\SiteApplication->initialiseApp()
(/home/micromin/www/libraries/src/Application/SiteApplication.php:218)
at Joomla\CMS\Application\SiteApplication->doExecute()
(/home/micromin/www/libraries/src/Application/CMSApplication.php:294)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/micromin/www/includes/app.php:61)
at require_once('/home/micromin/www/includes/app.php')
(/home/micromin/www/index.php:31)
|
|
[1/4]
PDOException
|
|---|
PDOException:
SQLSTATE[HY000] [2002] Connection refused
at /home/micromin/www/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php:359
at PDO->__construct('mysql:host=microminafm.mysql.db;port=3306;dbname=microminafm;charset=utf8', 'microminafm', 'a23j75v', array())
(/home/micromin/www/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php:359)
at Joomla\Database\Pdo\PdoDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php:197)
at Joomla\Database\Mysql\MysqlDriver->connect()
(/home/micromin/www/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:233)
at Joomla\Session\Handler\DatabaseHandler->open('/tmp', 'd4bed3de310211c93d877350289bce81')
at session_start()
(/home/micromin/www/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:478)
at Joomla\Session\Storage\NativeStorage->start()
(/home/micromin/www/libraries/src/Session/Storage/JoomlaStorage.php:295)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/home/micromin/www/libraries/vendor/joomla/session/src/Session.php:406)
at Joomla\Session\Session->start()
(/home/micromin/www/libraries/vendor/joomla/session/src/Session.php:333)
at Joomla\Session\Session->has('user')
(/home/micromin/www/libraries/src/Session/Session.php:191)
at Joomla\CMS\Session\Session->get('user')
(/home/micromin/www/libraries/src/Factory.php:334)
at Joomla\CMS\Factory::getUser()
(/home/micromin/www/libraries/src/Application/SiteApplication.php:552)
at Joomla\CMS\Application\SiteApplication->initialiseApp()
(/home/micromin/www/libraries/src/Application/SiteApplication.php:218)
at Joomla\CMS\Application\SiteApplication->doExecute()
(/home/micromin/www/libraries/src/Application/CMSApplication.php:294)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/micromin/www/includes/app.php:61)
at require_once('/home/micromin/www/includes/app.php')
(/home/micromin/www/index.php:31)
|