MyBB.de Forum

Normale Version: Upgrade von Version 1.6.1 scheitert
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
ich bin ein wenig am verzweifeln und hoffe, hier Hilfe zu finden. Gerne auch gegen Bezahlung.
Folgendes Problem. MyBB wurde für mich durch eine andere Person aufgesetzt, die bescheidener Weise Postgresql  gewählt hat. Derzeit läuft MyBB 1.6.1 mit ein paar Fehlern, die auf Postgresql zurückzuführen sind. Durch den Umzug auf einen neuen Server, mit einer aktuellen PHP-Version habe ich nun ein akutes Problem. Werbung wird nicht mehr angezeigt und es gibt verschiedene Fehlermeldungen. Nun habe ich upgraden wollen, was bereits nach dem ersten Schritt scheiterte.

Fehlermeldung: -> ERROR: column "custom_profile_fields" contains null values

Ich bin für jede Lösung offen. Gerne bezahle ich jemanden, der sich zutraut, dieses Forum zu aktualisieren oder noch besser, auf MySQL umzustellen.
Darüber hinaus habe ich eine Frage zur Werbung, die nicht mehr eingeblendet wird. Ich habe dafür eine Lösung gefunden, die von Michael stammt.
In inc/functions_post.php habe ich die Variable pfirst als globale Variable hinzugefügt und pfirst den Wert von $postcounter zugewiesen.
Anschliessend habe ich an der Stelle, wo das postbit Template gezogen wird, den Inhalt der Variable $pfirst geprüft und bei 1, 3 oder 5 statt postbit, postbit2 gezogen. Postbit2 habe ich anschliessend unter den globalen Templates erstellt und dort die Werbung eingefügt. Vielleicht gibt es aber auch eine leichtere Lösung. Kann man im Template auf die Variable $postcounter zugreifen und die Werbung in eine if-Anweisung packen?


Ich hoffe, Ihr könnt mir helfen. In dem Projekt steckt sehr viel Arbeit drin und nun stehe ich vor einem sterbenden Forum, weil ich keine Möglichkeit sehe, es auf MySQL zu übertragen oder mit Postgresql upzugraden.
LG
Werner
Nachtrag:
Angezeigte Fehler im Backend:
Folgende Fehlermeldungen erhalte ich nach Umzug auf den neuen Server:
Code:
/admin/inc/class_page.php 134 errorHandler->error
Code:
/admin/modules/home/index.php 40 DefaultPage->output_header
Code:
/admin/index.php 483 require
Code:
admin/inc/class_page.php (Line no. 134) -> Illegal string offset 'flash_message'
Code:
SQL Error: 22P02 - ERROR:  invalid input syntax for integer: "" LINE 1: ...title='video_youtube_embed' AND sid IN ('-2','-1','') ORDER ...
Du kannst versuchen, ob es nach folgender Änderung an der Datei install/resources/upgrade20.php funktioniert:
Ersetze:
PHP-Code:
$db->add_column("adminviews""custom_profile_fields""text NOT NULL AFTER conditions"); 
mit:
PHP-Code:
$db->add_column("adminviews""custom_profile_fields""text NOT NULL default '' AFTER conditions"); 

Ansonsten würde ich die Migration zu MySQL empfehlen. Dafür scheint es ein paar Tools zu geben, die du ausprobieren könntest.
Alternativ:
  • Alle Plugins deinstallieren (damit alle zusätzlichen Tabellen und Spalten gelöscht werden)
  • Neues Forum (gleiche Version!) mit MySQL installieren und danach alle Tabellen leeren (nicht löschen).
  • Datenbank des alten Forums mit der Option "Nur Daten" exportieren
  • Datenbank-Dump in das neue Forum einspielen
Vielen Dank für Deine Zeit und Hilfe, Stefan. Einige Plugins lassen sich auf dem neuen Server nicht mehr deinstallieren. Es kommt sofort eine SQL-Fehlermeldung. Kann denn ein SQL-Dump aus einer Postgresql-DB in eine MySQL-DB überspielt werden? Es wäre wirklich ein Traum, wenn ich zu MySQL wechseln könnte. Zumal sich unter Postgresql kaum ein Plugin einspielen lässt. Und mir fehlen derzeit noch die nötigen Kenntnisse, um sie anzupassen.
Wärst Du daran interessiert, gegen Bezahlung die Übertragung in MySQL durchzuführen? Oder vielleicht Michael?
Heute Abend werde ich versuchen, Deinen Vorschlag für das Upgrade durchzuführen. Ich vermute jedoch, dass es auch damit nicht weit kommt. Postgresql zu verwenden, war damals einfach nur eine dumme Fehlentscheidung, die sich nun mit ganzer Härte rächt. :-(
Es gibt Skripte, die das Datenbank konvertieren sollen, z.B.: http://www.lightbox.ca/pg2mysql.php oder http://mysqlworkbench.org/2012/11/how-to...on-wizard/
Wie zuverlässig das ist, kann ich leider nicht beurteilen.

Bei meinem Vorschlag müsstest du dann die Plugins, die sich nicht deaktivieren lassen, auch im neuen Forum installieren. Sonst wird ein Import fehlschlagen.

Wenn gar nichts davon klappt, kann ich dir auch helfen. Allerdings habe ich mit PgSQL wenig Erfahrung.
Vielen Dank Stafen. Ich werde das heute Abend versuchen. Sollte es nicht klappen, wäre ich Dir sehr dankbar, wenn Du mir gegen Bezahlung helfen könntest, die Datenbank nach MySQL zu portieren. Ich denke, dass da auch mehr MySQL-Kenntnisse gefragt sind. Ich habe leider weder von MySQL, Postgresql noch von PHP Ahnung. Grundsätzlich sind Programmierkenntnisse vorhanden. Bei SQL sieht es dann schon wieder nicht mehr ganz so toll aus.
Leider hat das nicht geklappt. Ich habe MyBB Version 1.6.1 heruntergeladen. Die Version liess sich erst installieren, nachdem ich alle Vorkommen von TYPE=MyISAM in ENGINE=MyISAM geändert hatte. Danach lief es. Anschliessend habe ich ein Datenbackup der Postgresql-Datenbank von der Konsole aus gezogen und versucht die Daten (Nur Daten -> Inserts) in die MySQL-DB zu überspielen. Es hagelt nur so von Fehlern. Eigentlich immer der selbe Fehler:

ERROR 1062 (23000) at line 270: Duplicate entry '411' for key 'PRIMARY'

Offensichtlich stimmt der PRIMARY Key der jeweiligen Einträge nicht. Ich habe keine Ahnung, wie es dazu kommen kann, denn das hätte erst einmal gar nichts mit Postgresql oder MYBB zu tun... Die vielen Stunden haben am Ende nichts gebracht.
Schade, das wäre wohl zu einfach gewesen? Hast du auch einmal eines der Migrations-Tools ausprobiert? Der erste ist ein einfaches PHP-Skript, das man ohne großen Aufwand ausprobieren könnte.
(02.07.2016, 11:01)StefanT schrieb: [ -> ]Schade, das wäre wohl zu einfach gewesen? Hast du auch einmal eines der Migrations-Tools ausprobiert? Der erste ist ein einfaches PHP-Skript, das man ohne großen Aufwand ausprobieren könnte.

Hallo Stefan, ich habe das jetzt hinbekommen. Bei Interesse schildere ich gerne wie. Am Ende durch Hilfe und Hinweise von Dir und Michael. Wenn auch indirekt durch Eure Beiträge in dem Supportforum hier.
Ich habe nun noch wenige Probleme, die ich schwerlich lösen kann.

Erstes Problem ist eine Fehlermeldung:
Code:
opendir(./uploads/avatars): failed to open dir: No such file or directory

Eigentlich eindeutig. Die Software kann auf den Ordner nicht zugreifen oder es fehlen Bilder im Ordner. Nun habe ich alle Bilder in diesen Ordner kopiert und auch die Rechte überprüft. Alles so wie es sein sollte. In der Konfiguration steht der Pfad genauso, wie in der Fehlermeldung angegeben, was stimmen sollte. Aktuelles Verzeichnis . gefolgt von dem Pfad. Ich bin daher ratlos, was ihn stört. Rechte für den Ordner stehen auf 755.

Das zweite Problem ist weitaus problematischer. Ich habe das Plugin Google_SEO installiert. Macht auch das, was es machen soll. Allerdings sind jetzt alle vorherigen Seiten, wie sie bei Google gelistet sind, nicht mehr erreichbar. Der Versuch auch nur eine Weiterleitung einzurichten, um eine alte Seite per 301 weiterzuleiten auf die neu erzeugte, scheitert. Es sieht so aus, als wenn Google_seo eingreift und das verhindert. Leider habe ich keine Ahnung von RewriteRules. Aber selbst ganz einfache Weiterleitungen ohne Reguläre Ausdrücke gehen nicht. Ohne den Google_SEO Anweisungen gehen sie. Dann sind die URLs jedoch kryptisch und hässlich.
Hast Du eine Idee, wie ich die alten Seiten umgeleitet bekomme?
Die alten Seiten sehen so aus:

super-toller-thread-t264.html

Die neuen so:

Thread-super-toller-thread

Und nochmals vielen Dank für Deinen hilfreichen Beistand. Ebenfalls auch Dank an Michael, der nicht einmal weiss, dass er geholfen hat. Ihm verdanke ich die Idee, wie Werbung in den Beiträgen angezeigt werden kann, ohne dass ich irgendein Plugin nutzen müsste und auch steuern kann, in welchem Beitrag sie angezeigt wird und wo nicht. Wobei er eigentlich jemanden geholfen hatte, den ersten Beitrag schöner zu gestalten, als den Rest. :-)
(03.07.2016, 20:04)lachner schrieb: [ -> ]Erstes Problem ist eine Fehlermeldung:
Code:
opendir(./uploads/avatars): failed to open dir: No such file or directory
Die Fehlermeldung besagt, dass der Ordner nicht vorhanden ist. Bist du sicher, dass dieser existiert? Auch auf unterschiedliche Groß-/Kleinschreibung achten.
(03.07.2016, 20:04)lachner schrieb: [ -> ]Allerdings sind jetzt alle vorherigen Seiten, wie sie bei Google gelistet sind, nicht mehr erreichbar.
Vermutlich reicht es die alten Rewrite-Rules bestehen lassen.
Mit dem Ordner ist das schon komisch. Der Pfad existiert. Da ich auschliesslich mit Linux oder Mac (Darwin) unterwegs bin, achte ich auf Groß-/Kleinschreibung. Auch habe ich die Rechte angesehen. Alle Ordner im Pfad sind ausführbar. Der Pfad lautet /uploads/avatars Wobei / für das Basisverzeichnis vom Webspace steht.
Eventuell den Punkt weglassen? Statt ./uploads/avatars /uploads/avatars?
Ich habe den Fehler gefunden, Stefan. Ich hatte 755 Rechte auf upload und avatars vergeben. Es war also möglich die Avatars zu lesen, nicht jedoch neue im Verzeichnis zu speichern. Offensichtlich benötigen die Verzeichnisse auch Schreibrechte für alle. Das klingt erst einmal nicht so toll nur wie sollten sonst Bilder in das Verzeichnis abgelegt werden können...

Vielen Dank für Deine Hilfe Stefan. Ohne Dich hätte ich das Projekt nie retten können.
Seiten: 1 2