n/v anstatt Node
am 20.05.2008 - 12:07 Uhr in
Ich wollte mein lokales Drupal mit der Datenbank vom Live-Server updaten. Hat auch alles funktioniert, außer dass die Nodes nicht angezeigt werden - sonst funktioniert alles. Bei direkten Aufruf meldet mir Drupal, dass die Seite nicht vorhanden ist und dies obwohl die URL stimmt. Wird eine Seite mit mehren Nodes aufgerufen, steht anstatt der Inhalt des Nodes nur n/v für jeden fehlenden Node.
Gegen-Test: Ich habe mein lokal Code auf den Server gestellt und die neue Datenbank importiert und der Fehler ist verschwunden. ????!!!!!!
Bitte kann mir einer sagen, warum ich diese Problem im localhost habe:
Server verwendet Mysql 4.1.? (www.all-inkl.com)
Localhost verwendet 5.0.?
Habe jedoch mit HeidiSQL in die Version der Mysql der Serverseite, sowie in die Version von Localhost exportiert und jeweils in das lokale Drupal importiert, ohne dass der Fehler verschwunden wäre.
============Fussnote=========================
Eilige können einfach direkt die Lösung lesen =>
Lösung siehe unten: "Lösung zu n/v anstatt Node"
- Anmelden oder Registrieren um Kommentare zu schreiben
Komplette Datenbank?
am 20.05.2008 - 19:16 Uhr
Importierst Du lokal die komplette Datenbank? Denn dieser n/v Fehler erscheint/erschien u.a. dann, wenn der User, der Nodes erstellt hat, gelöscht wurde, bevor sein Content gelöscht worden ist. Die Nodes konnten dann nicht mehr zugeordnet werden ...
Gibt's da also lokal und remote bei Dir Unterschiede bzgl. exisitierender User bzw. User-ID's?
Alternativ könntest Du ja mal lokal diesen MySQL-Befehl absetzen:
SELECT node.* FROM node
LEFT JOIN users ON node.uid=users.uid
WHERE users.uid IS NULL;
Zeigt der Befehl Datensätze an (z.B. im phpMyAdmin)?
Hmmh
am 21.05.2008 - 02:50 Uhr
Erst einmal vielen Dank für Deine Antwort. Wie setzte ich Deinen Befehl ab?
Nicht desto trotz, die User wurden importiert. Es erscheinen sogar die Titel der Nodes in der jeweiligen Beitragsliste, jedoch, wenn man dann diesen Node aufruft, wird die Seite/Node nicht gefunden.
Wie gesagt, habe ich mein lokalen Code auf den Server gestellt und die neue Datenbank (als mysql Version 4.1 exportiert) importiert und der Fehler ist verschwunden. Dann hab ich von dieser neuen Installation mysql als 5.0 exportiert und in lokal importiert und da waren wieder meine n/v da.
Nun stelle ich mir die Frage, was ist anderes in Localhost zum Vergleich zum Server:
Server:
PHP 4.4.8-16
MySQL 4.1.22
Apache 2.2.8
Localhost:
PHP 5.2.4.4
MySQL 5.0.45
Apache 2.2.6
Und beim ersten Importieren der Datenbank in den Server, gab es Probleme mit Umlauten, welche mir der Service von all-inkl.com gelöst hat, jedoch weiß ich nicht wie. Dies ist mein erster Versuch meine Daten vom Server in Lokal zu importieren ...
Was sollte ich als nächstes versuchen?
Anders sind die verwendeten Versionen von PHP und MySQL
am 21.05.2008 - 09:30 Uhr
und der Import nicht so richtig funktioniert hat, wohl auch die Einstellungen.
Beide Server sollten erstmal die gleichen Versionen verwenden, also PHP 5.2 und MySQL 5.
Zur PHP/Mysql Version: Wenn
am 21.05.2008 - 10:23 Uhr
Zur PHP/Mysql Version: Wenn du All-Inkl eine Email schreibt, dass du gerne die neueren Versionen hättest bist du innerhalb eines Tages auf einem neuem Server
Zum Import Problem: Du hast wahrscheinlich mit phpmyadmin importiert? Dort könnte es sein, dass nicht alle Tabellen fertig importiert wurden, da phpmyadmin nur 30s Ausführzeit besitzt.
Um das Problem zu umgehen kann man z.B. mysqldumper benutzen
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Schnittmenge@drupal.org
am 21.05.2008 - 12:14 Uhr
Wie setzte ich Deinen Befehl ab?
Jo, eben, mit phpMyAdmin. Da gibt's einen SQL-Tab und "Bearbeiten"-Links bei eben ausgeführten bzw. dann angezeigten SQL-Statements.
Benutzt all-inkl.com falsche Versionkombinationen?
am 22.05.2008 - 10:03 Uhr
und der Import nicht so richtig funktioniert hat, wohl auch die Einstellungen.
Beide Server sollten erstmal die gleichen Versionen verwenden, also PHP 5.2 und MySQL 5.
Wenn ich den Server ugrade, habe ich dann dort das selbe Problem? Sollte ich nicht lieber auf dem lokalen Rechner downgraden?
Also ich habe jetzt downgegraded und habe festgestellt, dass
die Apache Version mit der PHP-Version von all-inkl.com laut http://www.wampserver.com/en/addons_apache.php nicht kompatibel sind!!!!
Ich musste bei Wamp Apache 2.0.63 installieren, damit die PHP Version 4.4.8 überhaupt lauffähig war. Des Weiteren habe ich MYSQL 4.1.22 installiert und der Fehler verschwand nicht. Was sollte ich jetzt machen? Doch meinen Server upgraden lassen und beten?
HeidiSQL
am 21.05.2008 - 14:49 Uhr
Dort könnte es sein, dass nicht alle Tabellen fertig importiert wurden, da phpmyadmin nur 30s Ausführzeit besitzt.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Ich habe HeidiSQL verwendet, der diese Problem nicht hat. Oder doch ...
Wie geht es jetzt weiter?
am 21.05.2008 - 15:01 Uhr
Jo, eben, mit phpMyAdmin. Da gibt's einen SQL-Tab und "Bearbeiten"-Links bei eben ausgeführten bzw. dann angezeigten SQL-Statements.
Also ich habe Deinen Befehl in "SQL-Befehl(e) in Dantebank "consenser" ausführen" kopiert und auf OK geklickt ==> MySQL lieferte ein leeres Resultat zurück (d.h. null Zeilen)
Doch im SQL-Befehl-Fenster, wird der Befehl wiederholt und zusätzlich "LIMIT 0, 30" ausgegeben. Doch habe ich in meiner Datenbank 102 Tabellen. Wie geht es jetzt weiter? Darf ich dich direkt kontaktieren?
Ganz anders
am 25.05.2008 - 22:44 Uhr
Es ist mir noch nicht klar, ob dies eigtl. auftritt, wenn Du als bestimmter User angemeldet bist. Du könntest es a) einmal mit XAMPP versuchen, wenn Dich Deine lokale Serverumgebung so schwer an der Nase herumführt. Du könntest aber zunächst, falls Du als User angemeldet bist und dies ein Fehler im Edit-Modus sein sollte, auch b) überprüfen, ob die gesetzten Eingabefilter der Nodes für den angemeldeten User die nötigen Rechte haben (admin/settings/filters).
Lösung zu n/v anstatt Node
am 28.05.2008 - 05:45 Uhr
Ursache:
n/v dritt auf, wenn etwas durch 0 geteilt wird - entspricht nicht definiert. Ursache waren korrupte Zeichenkombination in einer Tabelle
Vermutete Ursachen:
a) Als ich meine Datenbank auf all-inkl.com importiert habe, hatte ich die berühmten weißen Fragezeichen auf schwarzem Hintergrund anstatt der Umlaute. All-inkl.com hatte mir damals das Problem gelöst. Jedoch scheint diese Lösung nur auf deren Server zu funktionieren. Diese Fragezeichen treten bei der Umstellung einer älteren Mysql-Version auf MySql mit utf8_general auf.
b) Inhalt mit unglücklicher Zeichenkombination. In meinem Fall war es node_revision. Anfällig ist auch aggregator_items!
c) Systemunterschiede: Code und Datenbank wurde auf Linux, Mac und Windows bearbeitet
Lösungsansatz
a) Ich habe meine alte Sicherheitskopie verwendet, bevor es von All-inkl.com importiert wurde und den Rest nachgepflegen. (Gegenprobe war erfolgreich.)
b) Die korrupten Zeichenketten ersetzen.
Weiterhin habe ich gelernt, das HeidiSQL das stabilste Programm ist. Es hat alle Tabellen angelegt, hat jedoch nicht alle Daten eingefügt. Dagegen hat mysqldumper einfach nur einen Bruchteil der Tabellen importiert, doch ist dies ein sehr praktisches Tool, um direkt auf dem Server Sicherheitskopien zu erstellen - werde ich auch weiterhin benutzen. Phpmyadmin stoßte an das zeitliche Limit und bei Erhöhung diesen Limits kam er nie zu Ende. Ich habe auch direkt über SQL (http://dev.mysql.com/doc/refman/5.1/de/mysqlimport.html) versucht, jedoch war mir das bei 102 Tabellen zu mühselig.
Nun kenne ich verschiedene Arten, wie man Datenbanken ex- und importiert. ;-) Ich hoffe mit diesem Beitrag jemand anderen etwas Zeit zu sparen.
Danke für Eure Unterstützung