Problem bei der Installation von 4.3.1b bei Strato

Gesperrt
chrism
Beiträge: 14
Registriert: Mo 30. Jun 2003, 09:34
Wohnort: Wien
Kontaktdaten:

Problem bei der Installation von 4.3.1b bei Strato

Beitrag von chrism »

Ich benutze Contenido 4.3.1b, gestern von www.contenido.de downgeloaded, bei Strato mit PHP 4.1.2 und MYSQL Client API version 3.23.39. Wenn ich Contenido mit den Beispielen installiere, funktioniert das Anlegen der Tabellen in der Datenbank nicht richtig. Jede Tabelle wird nur mit dem ersten Feld angelegt, alle weiteren Felder fehlen. Fehlermeldungen während der Installation bekomme ich keine, aber auf der Login-Seite kommen die ersten Fehlermeldungen aufgrund der falschen Tabellenstruktur.

Wenn ich von 4.3b von der I-PRO-CD auf 4.3.1b upgraden versuche, dann werden die Tabellenstrukturen scheinbar unverändert belassen, wodurch nach dem Einloggen die ersten Fehlermeldungen erscheinen.

Ist mein Problem die etwas ältere PHP-Version?
Kann ich das Problem durch Anpassung der Prozedur dbUpgradeTable beheben?

Danke,
Christian.
htw
Beiträge: 490
Registriert: Sa 5. Okt 2002, 03:09
Wohnort: Hessen
Kontaktdaten:

PHP 4.1.x eigentlich in Ordnung

Beitrag von htw »

Hallo,

kannst Du mal versuchen die sql-Dateien (liegen in setup/sql) per phpmyadmin einzuspielen? Eigentlich kann es nicht an PHP liegen, da ja generell Tabellen angelegt werden. Was mich etwas wundert, dass es keinerlei Fehlermeldungen gibt.

Gruß
Harald
chrism
Beiträge: 14
Registriert: Mo 30. Jun 2003, 09:34
Wohnort: Wien
Kontaktdaten:

Beitrag von chrism »

Hallo,
daran hatte ich zwar schon gedacht, ich kann aber bei der Version 4.3.1b leider keine CREATE TABLE statements in standard.sql, base.sql oder examples.sql finden, während sie in der Version 4.3b noch in standard.sql vorhanden waren. Auch in allen anderen Verzeichnissen konnte ich keine CREATE TABLE für die gesamte Datenbank finden.

Die erwähnte Prozedur dbUpgradeTable (aus functions.database.php im Verzeichnis contenido/includes) scheint so gebaut zu sein, dass Sie bei jedem Aufruf ein Feld gemäß Parameter zur Tabelle hinzufügt, wobei sie zwischen CREATE TABLE für das erste Feld und ALTER TABLE für alle Folgefelder unterscheiden kann. Aufgrund des PHP-Codes auch meine Vermutung, dass die PHP- oder MYSQL-Version eine Rolle spielen könnte.

dbUpgradeTable wird ausschliesslich in contenido/upgrade.php verwendet, welche wiederum ausschliesslich in /contenido/setup/index.php verwendet wird.

Vielleicht bin ich aber auch am Holzweg, und finde nur den Codeteil nicht, der neu installiert. Ich kann zwar mit SQL gut umgehen, bin aber ein Neuling, was Contenido betrifft.

Danke für jeden Tip,
Christian.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Hallo Christian,

ja, das ist soweit richtig. Du kannst zum Test die Datei "upgrade.php" modifizieren (dort die Parameter für die Datenbank sowie Benutzer und Passwort anpassen) und diese dann aufrufen, dann müßtest du auch Fehlermeldungen bekommen.

Es wäre interessant, welche das sind, denn wir haben den Mechanismus ja selbst mehrmals getestet (auch mit der PHP-Version 4.1.2).

Grüße,
Timo
chrism
Beiträge: 14
Registriert: Mo 30. Jun 2003, 09:34
Wohnort: Wien
Kontaktdaten:

Beitrag von chrism »

Hallo Timo,
danke für den Tip, ich konnte das Problem finden und zumindest für meine Version beheben:

Mein Strato-Account hat die Version MYSQL Client API version 3.23.39, welche anscheinen die folgende Syntax noch nicht versteht:

ALTER TABLE ADD COLUMN (name type);

Die ältere Syntax

ALTER TABLE ADD COLUMN name type;

funktioniert. In der Prozedur dbUpgradeTables habe ich die Klammerung rausgenommen (kein Problem, da auch nur ein Feld hinzugefügt wird) und danach funktionierte die Installation der Tabellen.

Vielleicht kann man in der nächsten Version die Klammerung wegnehmen, um so noch weiter rückwärts kompatibel zu werden.

Christian.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Hallo Christian,

danke für's suchen und finden :)

Ich habe es bei uns modifiziert, es wird also in der nächsten Version mit einfließen. Danke!

Grüße,
Timo
fkz
Beiträge: 7
Registriert: Di 5. Aug 2003, 20:23
Kontaktdaten:

Beitrag von fkz »

Hallo Chrism,

habe eben versucht, Contenido 4.3.1 auf Strato zu installieren und bin dabei genause auf die Nase gefallen. Ich kann mich noch nicht einmal als sysadmin einloggen, erhalte aber immer die beschriebenen SQL-Fehlermeldungen.

Könntest Du deine modifizierte sql-Datei zur Verfügung stellen, evt. noch einmal mit einer genauen Schritt für Schritt-Anleitung? Würde mir - und vielen anderen - sicher viel Arbeit ersparen.

Die 4.3.2.1b habe ich wegen der bekannten Performance Probleme nicht installiert. Könnte ich aber auch eine sql-Datei aus dieser Version verwenden und mit mysqladmin einspielen? Muß ich die bereits angelegten Tabellen vorher manuell löschen?

vy thx im Voraus,
Klaus
fkz
Beiträge: 7
Registriert: Di 5. Aug 2003, 20:23
Kontaktdaten:

Zum Haareraufen!

Beitrag von fkz »

Hallo Zusammen,

es ist zum Haareraufen! Habe die 4.3.1 zunächst problemlos auf dem Localhost installiert und mir dann mit der Exportfunktion einen SQL-Dump mit den benötigten CREATE-TABLE Statements erzeugt, um die oben beschriebenen Patche im PHP-Code zu umgehen.

Beim Anlegen der Tabellen mit mysqladmin auf meiner Strato-Präsenz erhalte ich nun die folgende Fehlermeldung:

Code: Alles auswählen

CREATE TABLE con_area (
  idarea int(10) NOT NULL default '0',
  parent_id varchar(255) NOT NULL default '0',
  name varchar(255) NOT NULL default '',
  relevant tinyint(1) NOT NULL default '0',
  online tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (idarea),
  KEY idarea (idarea, name, online),
  KEY idarea_2 (idarea),
  KEY name_2 (name),
  FULLTEXT KEY name (name)
) TYPE=MyISAM

MySQL meldet:  You have an error in your SQL syntax near 'KEY name (name) ) TYPE=MyISAM' at line 11 
Kann nach meiner SQL-Referenz keinen Fehler finden.

Wer hat eine brauchbare Idee,
Klaus
Gesperrt