Aktionen
GX-Bug #48537
geschlossenTesten der MySQL Verbindung und prüfen der MySQL Version schlägt fehl, wenn Socket / Port einen leeren String enthalten
Status:
Erledigt
Priorität:
Sofort
Zugewiesen an:
Tobias Schindler
Kategorie:
Updater
Zielversion:
% erledigt:
100%
Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
3.0.3.0, 3.1.3.1
Release Notes Langtext:
Die MySQL-Version und -Verbindung lässt sich prüfen, auch wenn der Socket oder Port einen leeren String enthält
Beschreibung
In der Datei /gambio_updater/classes/RequirementsTesting.inc.php kann die MySQL Version nicht geprüft werden, wenn Port / Socket einen leeren String enthalten.
WARNING(2): "mysqli::mysqli() expects parameter 5 to be long, string given"
WARNING(2): "RequirementsTesting::testMySQLVersion(): Couldn't fetch mysqli"
WARNING(2): "mysqli::close(): Couldn't fetch mysqli"
WARNING(2): "Cannot modify header information - headers already sent by (output started at /system/core/logging/LogControl.inc.php:262)"
Für den Gambio-Shops wird mindestens PHP 5.4 und MySQL 5.0 benötigt.
Dateien
Checkliste 0/0
Aktionen
#2
Von Till Tepelmann vor mehr als 8 Jahren aktualisiert
Lösung:
$server = DB_SERVER;
$port = isset(explode(':', $server)[1]) && is_numeric(explode(':', $server)[1]) ? (int)explode(':', $server)[1] : null; $socket = isset(explode(':', $server)[1]) && !is_numeric(explode(':', $server)[1]) ? explode(':', $server)[1] : null; $server = explode(':', $server)[0]; return new mysqli($server, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE, $port, $socket);
Aktionen