Statistik |
Beiträge: 144.531 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 281%
Ausl. d. letzten 5 Minuten: 272%
Ausl. d. letzten 15 Minuten: 276%
Aktulle Uhrzeit: 18:53
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
Serverumzug > nun Datenbankfehler |
|
Serverumzug > nun Datenbankfehler |
|
Ich habe eins meiner Foren auf einen neuen Server umgezogen und erhalte nun einen Datenbankfehler.
Auf meinem neuen Server läuft Ubuntu 20.04 mit php 7.3 als Standard.
Für die Webseite mit dem Forum habe ich PHP 5.5.38 aktiviert.
Der alte Server lief mit Ubuntu 14.04 und PHP 5.5.9 worauf das wbb 2.3.6 Forum sehr gut lief.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (2.3.6): Invalid SQL: INSERT INTO bb1_sessions (sessionhash,userid,ipaddress,useragent,lastactivity,request_uri,styleid,langid,authentificationcode,wap) VALUES ('XXXXXX','0','77.********.99','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0','1658144750','board.php?boardid=27','0','0','','')
mysql error: Incorrect integer value: '' for column `********.`bb1_sessions`.`wap` at row 1
mysql error number: 1366
mysql version: 10.3.34-MariaDB-0ubuntu0.20.04.1
php version: 5.5.38
Date: 18.07.2022 @ 13:45
Script: /forum/board.php?boardid=27 |
|
Sensible Daten habe ich anonymisiert.
Kann der Fehler mit der älteren PHP-Version (5.5.38 statt 5.5.9) zu tun haben, oder liegt der Fehler wo anders?
VG
Markus
|
|
18.07.2022 13:55 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
RE: Serverumzug > nun Datenbankfehler |
|
|
|
|
|
Zitat: Original von Markus
Ich habe eins meiner Foren auf einen neuen Server umgezogen und erhalte nun einen Datenbankfehler.
Auf meinem neuen Server läuft Ubuntu 20.04 mit php 7.3 als Standard.
Für die Webseite mit dem Forum habe ich PHP 5.5.38 aktiviert.
Der alte Server lief mit Ubuntu 14.04 und PHP 5.5.9 worauf das wbb 2.3.6 Forum sehr gut lief.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
SQL-DATABASE ERROR
Database error in WoltLab Burning Board (2.3.6): Invalid SQL: INSERT INTO bb1_sessions (sessionhash,userid,ipaddress,useragent,lastactivity,request_uri,styleid,langid,authentificationcode,wap) VALUES ('XXXXXX','0','77.********.99','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0','1658144750','board.php?boardid=27','0','0','','')
mysql error: Incorrect integer value: '' for column `********.`bb1_sessions`.`wap` at row 1
mysql error number: 1366
mysql version: 10.3.34-MariaDB-0ubuntu0.20.04.1
php version: 5.5.38
Date: 18.07.2022 @ 13:45
Script: /forum/board.php?boardid=27 |
|
Sensible Daten habe ich anonymisiert.
Kann der Fehler mit der älteren PHP-Version (5.5.38 statt 5.5.9) zu tun haben, oder liegt der Fehler wo anders?
VG
Markus |
|
|
|
|
|
Hallo,
das liegt an den MySQL-Server da es jetzt vielleicht eine neuere Version ist.
Das Feld "wap" in der Tabelle "bb1_sessions" ist ein Integer Felde und es verlangt eine Zahl und kein Blank.
Ich habe es bei mir so gelöst.
Editiere die Datei "acpl/lib/session.php".
Suche:
code: |
1:
2:
3:
4:
|
$session['sessionhash'] = md5(uniqid(microtime()));
$session['userid'] = 0;
|
|
Füge darunter ein:
code: |
1:
2:
3:
|
$session['wap'] = 0;
|
|
Versuche es mal so.
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
|
|
18.07.2022 20:33 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Hallo Viktor,
sei gegrüßt. Ich hoffe, dir geht es gut.
Schön, dass du so schnell geantwortet hast.
Der Fehler ist nun weg, wurde aber durch einen neuen abgelöst.
php: |
1:
2:
3:
|
Database error in WoltLab Burning Board (2.3.6): Invalid SQL: INSERT INTO bb1_statistics VALUES ('1658182287', '', '', '', '', '', '')
mysql error: Incorrect integer value: '' for column `*********`.`bb1_statistics`.`threads` at row 1
mysql error number: 1366 |
|
Ich hoffe ja, dass es nicht noch mehr Dateien betrifft.
Liebe Grüße
Markus
|
|
19.07.2022 00:20 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
RE: Serverumzug > nun Datenbankfehler |
|
|
Zitat: Original von Markus
Hallo Viktor,
sei gegrüßt. Ich hoffe, dir geht es gut.
Schön, dass du so schnell geantwortet hast.
Der Fehler ist nun weg, wurde aber durch einen neuen abgelöst.
php: |
1:
2:
3:
|
Database error in WoltLab Burning Board (2.3.6): Invalid SQL: INSERT INTO bb1_statistics VALUES ('1658182287', '', '', '', '', '', '')
mysql error: Incorrect integer value: '' for column `*********`.`bb1_statistics`.`threads` at row 1
mysql error number: 1366 |
|
Ich hoffe ja, dass es nicht noch mehr Dateien betrifft.
Liebe Grüße
Markus |
|
|
Hallo,
jo mir geht es gut und ich hoffe dir auch.
Schön das der Fehler jetzt weg ist.
Bei den neuen Fehler ist es das gleiche.
Es ist aber keine Standard wBB-Tabelle aber da wird nur Blank übergeben und es werden Zahlen erwartet.
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
|
|
19.07.2022 01:28 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
|
Zitat: Original von Viktor
Es ist aber keine Standard wBB-Tabelle aber da wird nur Blank übergeben und es werden Zahlen erwartet.
|
|
|
Hallo Viktor,
ich habe jetzt mehrere Versuche unternommen und bekomme das einfach nicht hin.
Darf ich dir die statistics.php per PN schicken?
VG
Markus
|
|
19.07.2022 11:31 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
|
19.07.2022 20:42 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Hallo Viktor,
es ist super, dass du nach den vielen Jahren immer noch Support für das wbb machst.
Ich denke mal, dass ohne dein Support-Board schon viele wbb 2.3.6 Boards nicht mehr existieren würden.
Du hast Post.
VG
Markus
|
|
19.07.2022 22:38 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Nach kurzer gemeinsamer Fehlersuche mit Viktor habe ich die Statistik-Erweiterung, welche für die Probleme verantwortlich war wieder ausgebaut.
Eine Fehlerquelle weniger.
Das Forum läuft jetzt wieder, allerdings habe ich noch diese Anzeigefehler:
Hat jemand für mich noch einen schnellen Rat, wie ich das beheben kann?
|
|
21.07.2022 16:21 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
|
21.07.2022 21:09 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Super Viktor.
Das hat geholfen.
Ein dickes Danke.
|
|
21.07.2022 22:20 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
|
22.07.2022 02:18 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Heute habe ich das nächste Forum auf den neuen Server gezogen und die bereits oben besprochenen Probleme gelöst. Allerdings ist dieses Forum noch etwas umfangreicher und es gibt eine Fehlermeldung auf verschiedenen (nicht allen Seiten), bei der ich nicht weiterkomme.
code: |
1:
2:
|
mysql error: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'like'
mysql error number: 1267 |
|
Ich habe mir nun alle Tabellen im MySQL angesehen und festgestellt, dass sie schon seit Jahren eine bunt gemischte Kollation haben. Bisher hatte ich damit noch nie Probleme.
Nach dieser, oben genannten Fehlermeldung habe ich jetzt aber alle einheitlich auf utf8_general_ci gebracht. Bis auf einzelne, die sich nicht dazu bewegen ließen.
Keiner der Tabellen hat die in der Fehlermeldung ausgegebene Kollation utf8mb4_general_ci
Diese lässt sich für die Tabellen auch nicht einstellen.
Die Kollation bleib bei der bb1_wordlist mit Fehlermeldung hängen.
Mein Server nutzt standardmäßig zwar utf8mb4_general_ci und PHP 7.4.3, aber auf der Datenbank läuft utf8_general_ci und PHP 5.5
Nun meine Frage, wie ich den mysql Fehler beheben kann.
VG
Markus
|
|
24.07.2022 22:02 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
|
25.07.2022 00:05 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Hallo Viktor,
die Konvertierung scheint mit dieser Abfrage geklappt zu haben.
Allerdings ist die Fehlermeldung geblieben. Ich vermute, es liegt an der Standardeinstellung des Servers, die ich aber nur ungern ändern möchte. Hat dein Server als Standardeinstellung auch utf8mb4_general_ci ?
Ich sende dir mal per PN den Link meiner Forum-Installation.
Vielleicht kannst du dort den Fehler nachvollziehen.
Es gibt Seiten, die laufen ohne Probleme und andere wiederum geben Fehlermeldungen aus.
VG
Markus
### Nachtrag
Ich konnte die Fehlermeldungen jetzt noch weiter eingrenzen.
Sie scheint nur auf Seiten aufzutauchen, auf denen Anzeigen aus meinem Spielportal integriert sind. Leider gibt es den Anbieter schon seit 12 Jahren nicht mehr.
Reine Forumseiten und Seiten des JGS-Portals scheinen zu laufen.
Die Details sende ich dir per PN.
|
|
25.07.2022 16:50 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
|
25.07.2022 20:23 |
|
|
|
RE: Serverumzug > nun Datenbankfehler |
|
Viktor und Florian von KeyHelp haben mich in die richtige Richtung gestoßen.
Es war nicht allein das Problem mit der unterschiedlichen Kollation der Tabellen.
Da ich Supportforen sehr schätze, möchte ich nun auch die auf gefühlt 1000 Seiten recherchierte Lösung mitteilen, welche die Konvertierung in einem Rutsch erledigt und zum Erfolg geführt hat:
MySQL ausführbar starten, die zu ändernde Datenbank auswählen und folgende Abfrage ausführen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
|
DROP PROCEDURE IF EXISTS convertToInnodb;
DELIMITER //
CREATE PROCEDURE convertToInnodb()
BEGIN
mainloop: LOOP
SELECT TABLE_NAME INTO @convertTable FROM information_schema.TABLES
WHERE `TABLE_SCHEMA` LIKE DATABASE()
AND `ENGINE` LIKE 'MyISAM' ORDER BY TABLE_NAME LIMIT 1;
IF @convertTable IS NULL THEN
LEAVE mainloop;
END IF;
SET @sqltext := CONCAT('ALTER TABLE `', DATABASE(), '`.`', @convertTable, '` ENGINE = INNODB');
PREPARE convertTables FROM @sqltext;
EXECUTE convertTables;
DEALLOCATE PREPARE convertTables;
SET @convertTable = NULL;
END LOOP mainloop;
END//
DELIMITER ;
CALL convertToInnodb();
DROP PROCEDURE IF EXISTS convertToInnodb; |
|
Quelle: https://code-examples.net/de/q/3ad833
Danach habe ich im Terminal noch mal diesen Befehl ausgeführt:
code: |
1:
2:
|
DB="hier_Datenbankname_eintragen"; ( echo 'ALTER DATABASE `'"$DB"'` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'; mysql "$DB" -e "SHOW TABLES" --batch --skip-column-names | xargs -I{} echo 'ALTER TABLE `'{}'` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;' ) | mysql "$DB" |
|
Vielen Dank nochmal für die Hilfestellung. Dieses Problem ist nun gelöst.
|
|
28.07.2022 18:34 |
|
|
|
|
Zitat: Original von Viktor
Schön das du die Lösung auch hier gepostet hast.
|
|
|
Das ist doch Ehrensache. Ich bin der Meinung, so was gehört sich auch.
Davon lebt ein Supportforum.
Ich fand es total witzig, dass du mir bei KeyHelp geantwortet hast.
Wusste ja nicht, dass du das Control Panel auch nutzt.
War dir gleich klar, dass ich den Beitrag geschrieben habe?
Wie klein die Welt doch ist.
|
|
28.07.2022 21:25 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.754.447
Nächster Level: 266.777.854
|
|
|
29.07.2022 00:53 |
|
|
|
|
Zitat: Original von Viktor
Ja ich habe jetzt auch Keyhelp und bis jetzt bin ich sehr zufrieden.
|
|
|
Das bin ich auch. Ich finde des Control Panel schlägt Plesk um Längen.
Nun noch zum Fehler, den ich schon per PN angerissen habe.
Hier bin ich mir nicht sicher, ob es ursächlich auch Datenbankfehler sein könnte.
Nach dem Aufruf einer PHP Seite im Browser erhalte ich eine weiße Seite, mit folgendem gekürzten Inhalt angezeigt:
code: |
1:
|
userinfo['userid']; if (!$module_username) $module_username = $vbulletin->userinfo['username']; if (!$module_postings) $module_postings = $vbulletin->userinfo['posts']; if (!$module_guthaben) $module_guthaben = $vbulletin->userinfo['guthaben']; } $module_sid = "sid="; if ($module_version == "vb2.3" OR $module_version == "vb3.x") $module_sid = "s="; $module_session = $session['hash']; if ($module_session == "") $module_session = $sid; if ($module_session == "") $module_session = $session[0]; if (!$module_session) $module_session = $session['sessionurl']; if (!$module_session) $module_session = 0; if ($module_version == |
|
usw.
Den Inhalt der PHP-Seite habe ich mir näher angesehen.
Sie beginnt mit "<?php". Das fehlende "php" ist also nicht die Ursache für die falsche Anzeige.
Bei der Gelegenheit habe ich auch gleich noch alle Seiten geprüft, die diese Erweiterung noch benötigen könnte.
In der error.log auf dem Server wird folgende Fehlermeldung angezeigt:
code: |
1:
|
[Fri Jul 29 22:56:29.891501 2022] [proxy_fcgi:error] [pid 681476:tid 140546283783936] [client XXXXXX] AH01071: Got error 'PHP message: PHP Fatal error: Call to a member function query_first() on a non-object in /home/users/XXXXXXX/ufp_functions.php on line 2620\n', referer: https://XXXXXXX |
|
Daraufhin habe ich mir den Inhalt der "ufp_funktions.php" angesehen.
In Zeile 2620 steht folgender Ausdruck:
php: |
1:
2:
|
2620 $gname = $dbaccess->query_first ("SELECT `value` FROM `" . $dbprefix . "ufp_settings` WHERE `varname`='gamename'");
2621 $gversion = $dbaccess->query_first ("SELECT `value` FROM `" . $dbprefix . "ufp_settings` WHERE `varname`='gversion'"); |
|
In meinen Augen sollte das alles ok sein.
|
|
29.07.2022 23:38 |
|
|
|
|
|
|