- Joomla Version
- 5.0.1
- PHP Version
- PHP 8.1.x
- Hoster
- Lokal
Hallo zusammen.
Ich bin gerade dabei eine Seite von joomla 3 auf Joomla 4 auf Joomla 5 zu migrieren und bekomme, wenn ich eine gewisse View aufrufe folgenden Fehler (inkl. CallStack):
Bei Problemen ist der Administrator dieser Website zuständig.
Zitat0 mysqli object is not fully initialized
Call Stack
# | Function | Location |
---|---|---|
1 | () | JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:138 |
2 | mysqli->prepare() | JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:138 |
3 | Joomla\Database\Mysqli\MysqliStatement->__construct() | JROOT/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:1020 |
4 | Joomla\Database\Mysqli\MysqliDriver->prepareStatement() | JROOT/libraries/vendor/joomla/database/src/DatabaseDriver.php:1785 |
5 | Joomla\Database\DatabaseDriver->setQuery() | JROOT/components/com_powerdog/helpers/powerdog.php:607 |
6 | PowerdogHelpersPowerdog::getDayYearProduction() | JROOT/components/com_powerdog/models/powerdogsummary.php:229 |
7 | PowerdogModelPowerdogsummary->getDayYearProduction() | JROOT/components/com_powerdog/views/powerdogsummary/view.html.php:216 |
8 | PowerdogViewPowerdogsummary->_powerdogTasks() | JROOT/components/com_powerdog/views/powerdogsummary/view.html.php:64 |
9 | PowerdogViewPowerdogsummary->display() | JROOT/libraries/src/MVC/Controller/BaseController.php:697 |
10 | Joomla\CMS\MVC\Controller\BaseController->display() | JROOT/components/com_powerdog/controller.php:38 |
11 | PowerdogController->display() | JROOT/libraries/src/MVC/Controller/BaseController.php:730 |
12 | Joomla\CMS\MVC\Controller\BaseController->execute() | JROOT/components/com_powerdog/powerdog.php:21 |
13 | require_once() | JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:71 |
14 | Joomla\CMS\Dispatcher\LegacyComponentDispatcher::Joomla\CMS\Dispatcher\{closure}() | JROOT/libraries/src/Dispatcher/LegacyComponentDispatcher.php:73 |
15 | Joomla\CMS\Dispatcher\LegacyComponentDispatcher->dispatch() | JROOT/libraries/src/Component/ComponentHelper.php:361 |
16 | Joomla\CMS\Component\ComponentHelper::renderComponent() | JROOT/libraries/src/Application/SiteApplication.php:218 |
17 | Joomla\CMS\Application\SiteApplication->dispatch() | JROOT/libraries/src/Application/SiteApplication.php:261 |
18 | Joomla\CMS\Application\SiteApplication->doExecute() | JROOT/libraries/src/Application/CMSApplication.php:306 |
19 | Joomla\CMS\Application\CMSApplication->execute() | JROOT/includes/app.php:58 |
20 | require_once() | JROOT/index.php:32 |
wenn ich also nun in powerdog.php nachschaue (Zeile 606) sehe ich, dass $dbData->setQuery($query); aufgerufen wird. dbData ist vom Typ $dbData = JDatabaseDriver::getInstance($db_option);
Wenn ich mir dbData dumpen lasse, so bekomme ich folgendes Ergebnis:
object(Joomla\Database\Mysqli\MysqliDriver)#812 (24) { ["database":"Joomla\Database\DatabaseDriver":private]=> string(5) "data3" ["name"]=> string(6) "mysqli" ["serverType"]=> NULL ["connection":protected]=> object(mysqli)#811 (6) { ["client_info"]=> string(14) "mysqlnd 8.2.16" ["client_version"]=> int(80216) ["connect_errno"]=> int(1130) ["connect_error"]=> string(64) "Host '10.0.0.106' is not allowed to connect to this MySQL server" ["errno"]=> int(1130) ["error"]=> string(64) "Host '10.0.0.106' is not allowed to connect to this MySQL server" } ["count":protected]=> int(0) ["cursor":protected]=> NULL ["executed":protected]=> bool(false) ["limit":protected]=> int(0) ["nameQuote":protected]=> string(1) "`" ["nullDate":protected]=> string(19) "0000-00-00 00:00:00" ["offset":protected]=> int(0) ["options":protected]=> array(14) { ["host"]=> string(10) "10.0.0.103" ["database"]=> string(5) "data3" ["user"]=> string(8) "ABCDE" ["password"]=> string(14) "ABCDE" ["prefix"]=> string(0) "" ["driver"]=> string(6) "mysqli" ["select"]=> bool(true) ["factory"]=> object(Joomla\Database\DatabaseFactory)#813 (0) { } ["monitor"]=> NULL ["port"]=> int(3306) ["socket"]=> NULL ["utf8mb4"]=> bool(false) ["sqlModes"]=> array(3) { [0]=> string(19) "STRICT_TRANS_TABLES" [1]=> string(26) "ERROR_FOR_DIVISION_BY_ZERO" [2]=> string(22) "NO_ENGINE_SUBSTITUTION" } ["ssl"]=> array(0) { } } ["sql":protected]=> NULL ["statement":protected]=> NULL ["tablePrefix":protected]=> string(0) "" ["utf":protected]=> bool(true) ["errorNum":protected]=> int(0) ["errorMsg":protected]=> NULL ["transactionDepth":protected]=> int(0) ["factory":protected]=> object(Joomla\Database\DatabaseFactory)#813 (0) { } ["monitor":protected]=> NULL ["dispatcher":"Joomla\Database\DatabaseDriver":private]=> NULL ["utf8mb4":protected]=> bool(false) ["mariadb":protected]=> bool(false) }
Vor allem "Host 10.0.0.106" finde ich relevant. Password und User habe ich übrigens aus Sicherheitsgründen auf ABCDE geändert.
woran kann das liegen? Datenbankaufrufe funktionieren grundsätzlich auf der Seite bereits.
Es ist außerdem so, dass ich von der eigentlichen Seite vom Produktivsystem eine Kopie erstellt habe und derzeit auf einem Testserver entwickle. Kann es sein, dass ich nun irgendwelche Konfigurationen ändern muss?
dtype host und user von der configuration.php sehen so aus:
public $dbtype = 'mysql';
public $host = 'localhost';
public $user = 'joomla';