mysql update / kompatibilität und phpbb2

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Gesperrt
zoc
Mitglied
Beiträge: 58
Registriert: 04.06.2006 22:57
Kontaktdaten:

mysql update / kompatibilität und phpbb2

Beitrag von zoc »

Hallo zusammen.
Auf einer Forenseite mit der Version 2.0.21 kommt es seit dem Update von mysql 4 auf 5 zu Problemen mit einigen Seiten und Funktionen.

Durch die Suche hier, konnte man auch immer einzelne Hinweise finden.
Leider aber nicht in der Gesamtheit.

Es tauchten Probleme beim posten (reply) auf wo es zu sql-Fehlermeldungen kam. Das ist mittlerweile behoben.
Nun kommen noch Fehler bei der Mitgliederliste "Could not query users, Fehler 1064), Themen löschen geht nicht mehr, Freischalten von Usern und einiges andere.

Nun frage ich mal im allgemeinen.
Kann das sein ?? Kann das bestätigt werden, das es da Probleme gibt, mit der Schreibweise in SQL Statements ??
Könnte es z.B. sein, dass wenn das phpbb mit mysql 3.x Einstellung installiert wurde (statt mysql4/5), dass das die Ursache ist ??
Fehlt da die Kompatibilität ???
Also das trotz mysql3 Installationsweise, die 4er noch ging, aber die 5er Version jetzt nicht mehr ??
Und wenn dem so ist, was wäre zu tun ??

Für Tips wäre ich sehr dankbar ..

Achja, als kleines Beispiel, hier wegen der memberlist, die nicht mehr angezeigt wird:
Fehler:
Could not query users

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user_active = 1 ORDER BY user_regdate ASC LIMIT 0, 50' at line 3

SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar FROM forum_users WHERE user_id <> -1AND user_active = 1 ORDER BY user_regdate ASC LIMIT 0, 50

Line : 152
File : memberlist.php
Code in memberlist.php:
$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . "
ORDER BY $order_by";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Sorry, aber die Fehlermeldung passt nicht zu dem von dir geposteten Code...

Der Teil

Code: Alles auswählen

WHERE user_id <> -1AND user_active = 1
muss scheitern (und auch schon mit MySQL 3 oder 4), da ein Leerzeichen zwischen dem -1 und dem AND fehlt.
Der zweite Teil ist aber in deiner Abfrage garnicht enthalten.

Viele Grüße,

Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
zoc
Mitglied
Beiträge: 58
Registriert: 04.06.2006 22:57
Kontaktdaten:

Beitrag von zoc »

Danke Philip ... das ist mir auch schon aufgefallen, aber so steht es in der Version 2.0.21/22 drin ...
Leider steht mir das "Original" (da wo der Fehler auftaucht) Script nicht zur Verfügung, ist bin noch dabei das zu besorgen (ist nicht direkt mein Forum).

Mir gehts aber auch nicht nur darum, DIESEN Fehler zu beseitigen, sondern ich mache mir Sorgen um das GANZE.
Wie ich schon schrieb, sind es ja mehrere Dinge die nicht gehen ... und ich frage mich warum ... :(

Wie gesagt, könnte eine Vermutung sein, das das alte,ursprüngliche Forum als mysql3.x Version installiert wurde ... dann mehrfach upgedatet wurde und nun nicht mehr zur Version 5 von mysql passt ...

Was meinst DU ??
Benutzeravatar
SteveHH
Mitglied
Beiträge: 511
Registriert: 10.06.2006 11:47
Wohnort: Hamburg
Kontaktdaten:

Beitrag von SteveHH »

Hallo ;)

Ich habe mal ein wenig gegoogelt, da ich das Thema recht interessant finde und mir auch schon Gedanken gemacht habe, was passieren mag, wenn mein Provider auf die glorreiche Idee kommt, auf php5 upzudaten (ist das so richtig geschrieben ?? :D )
Vielleicht kannst Du mit diesem Link was anfangen :)
Weiterhin habe ich in einem anderen Forum (www.macuser.de) bzgl. Mysql 5 folgendes gefunden:
Ich glaube der größte Unterschied (für den Administrator) ist, dass die Passwortverwaltung bei MySQL5 anders läuft und man deshalb entweder mit "-oldpasswords" konpiliert oder aber die Passwörter neu vergibt, denn man kann sich nicht mehr einloggen, wenn man es mit einem 4er Account bei einer 5er versucht, wo der Dump (einfach so) eingespielt wurde.

Ansonsten sind eigentlich nahezu alle alten Funktionen gleich geblieben, von daher macht es keinen allzu großen Unterschied für laufende Scripte, ob sie auf einer 4er oder 5er DB laufen. Wie gesagt, hauptsache die Passwörter werden beim Dump korrekt gesetzt.
Das ganze ist bei diesem Link zu finden.
Ich hoffe, das ich euch dabei (vielleicht ?) ein wenig helfen konnte :)

Greetz, Steve
Crocodiles Hamburg - Eishockey mit HERZ
http://www.crocodiles-hamburg.de
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Das phpbb2 sollte sowohl zu den PHP Versionen 4 und 5 als auch den mysql Versionen 4 und 5 kompatibel sein, es ist so geschrieben, dass es keine zu neuen PHP Funktionen oder Mysql Anweisungen verwendet.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
zoc
Mitglied
Beiträge: 58
Registriert: 04.06.2006 22:57
Kontaktdaten:

Beitrag von zoc »

Danke ...
aber es gibt halt Probleme. Und es ist erst definitiv nach dem Wechsel von mysql ...

Nochmal konkret:
Was ist denn wenn man es tatsächlich mit "mysql3.x" Modus installiert ???
Was ist denn da anders, als wenn man es mit "mysql4/5" installiert ?

Gibts da keine Unterschiede ?
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Hi,

prüfe mal nach, ob in deiner config.php ein Eintrag mit:

Code: Alles auswählen

$dbms = 'mysql';
existiert.

Wenn ja, ändere es mal auf:

Code: Alles auswählen

$dbms = 'mysql4';
schock
Mitglied
Beiträge: 39
Registriert: 20.09.2004 09:33

Beitrag von schock »

Hallo,

ich habe dazu mal eine Verstaendnisfrage:

zoc ist von MySQL 4 auf 5 umgestiegen und Dr.Death raet ihm,
in config.php $dbms abzuaendern von "mysql" auf "mysql4".

Warum abaendern auf "mysql4" bzw. warum nicht auf "mysql5"?

Ich habe mit meinem Forum (phpbb 2.0.22) den Server gewechselt. Damit
verbunden war ein Wechsel von MySQL 4.0.15 auf 5.0.22.

Da habe ich gedacht, ich muss in config.php "$dbms=mysql5" schreiben.
Mache ich das, dann bekomme ich die Fehlermeldung "Fatal error: Class
'sql_db' not found in /var/www/vhosts/default/htdocs/lpi/phpBB2/includes/db.php
on line 60" und in der Tat, in db.php gibt es keinen mysql5 Fall. :-(

Schreibe ich in config.php "$dbms=mysql4", dann scheint das Forum
reibungslos zu funktionieren.

Bedeutet "$dbms=mysql4" also "MySQL Version 4 oder hoeher"?

Tschuess
Karl
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Als phpBB2 entstanden ist gab es noch kein Mysql 5 und dementsprechend auch keine daran angepassten Funktionen. Mysql 5 ist aber abwärtskompatibel und daher lässt sich die gleiche Klasse verwenden wie für Mysql 4. In phpBB3 gibt es eine spezielle Datenbankklasse für Mysql 5 (die die Mysqli Funktionen verwendet), in phpBB2 aber noch nicht. Die Variable die geändert wurde gibt nur an, was für eine Klasse verwendet werden soll, d.h. die enthält den Klassennamen. Die Mysql 3 Klasse trägt eben den Namen mysql und die für Mysql 4/5 den Namen mysql4. mysql5 gibt es nicht, daher gibt es eine Fehlermeldung.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
schock
Mitglied
Beiträge: 39
Registriert: 20.09.2004 09:33

Beitrag von schock »

Alles klar. Danke fuer die schnelle Antwort. :-)
Karl
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“