Seite 1 von 2

Systemeinstellungen nach Upgrade

Verfasst: Mo 14. Nov 2005, 19:20
von Dodger77
Das neue Feature für die Systemeinstellungen finde ich äußerst praktisch (z.B. für mandantenübergreifende Einstellungen im tinyMCE). In einem neuinstallierten System (4.6.2) funktionieren diese auch wie sie sollen. In einem System, das ich upgegraded habe (von 4.5.4beta auf 4.6.2), werden weder Systemeinstellungen ausgelesen (obwohl welche vorhanden sind) noch neue hinzugefügt.

Errorlog nach Auslesen:

Code: Alles auswählen

[14-Nov-2005 19:10:39] /main.php?area=system_settings&frame=4&idcat=&contenido=560a9630d879497abcd78b9d5333070a MySQL error 0: 
SELECT type, name, value FROM con_system_prop ORDER BY type ASC, name ASC, value ASC
[14-Nov-2005 19:10:39] /main.php?area=system_settings&frame=4&idcat=&contenido=560a9630d879497abcd78b9d5333070a next_record called with no query pending.
Errorlog nach Hinzufügen:

Code: Alles auswählen

[14-Nov-2005 19:10:47] /main.php MySQL error 0: 
SELECT idsystemprop FROM con_system_prop WHERE type='wysiwyg' AND name='tinymce-toolbar-mode'
[14-Nov-2005 19:10:47] /main.php MySQL error 0: 
lock tables con_sequence write
[14-Nov-2005 19:10:47] /main.php lock() failed.
[14-Nov-2005 19:10:47] /main.php cannot lock con_sequence - has it been created?
[14-Nov-2005 19:10:47] /main.php MySQL error 0: 
INSERT INTO con_system_prop (idsystemprop, value, type, name) VALUES ('0', 'custom', 'wysiwyg', 'tinymce-toolbar-mode')
[14-Nov-2005 19:10:47] /main.php MySQL error 0: 
SELECT type, name, value FROM con_system_prop ORDER BY type ASC, name ASC, value ASC
[14-Nov-2005 19:10:47] /main.php next_record called with no query pending.
Der DB-User hat übrigens natürlich das Recht "LOCK TABLES" und die Tabelle "con_sequence" gibt es auch.


Gruß

Ingo

Verfasst: Mo 14. Nov 2005, 20:22
von HerrB
a) Gibt es die con_system_prop
b) Gibt es darin die Spalten type, name, value?

Gruß
HerrB

Verfasst: Mo 14. Nov 2005, 20:29
von Dodger77
HerrB hat geschrieben:a) Gibt es die con_system_prop
b) Gibt es darin die Spalten type, name, value?
Ja, ich finde die Meldungen aus dem Errorlog etwas eigenartig, denn:
  • der DB-User hat das Recht LOCK TABLES
  • con_system_prop existiert
  • die Spalten sind alle da

Verfasst: Mo 14. Nov 2005, 20:34
von HerrB
Mmmh, kannst Du die Tabelle evtl. mal sichern, löschen und nochmal anlegen? Wenn Du sagst, dass das Recht lock tables da ist, sieht das seltsam aus. Zumal mySQL error 0 ja irgendwie auch seltsam ist... Mmh.

Gruß
HerrB

Verfasst: Mo 14. Nov 2005, 21:34
von Dodger77
Ich habe die Tabelle gelöscht und inkl. Daten neu erstellt. Keine Änderung.

Im Vergleich zu einer neu installierten 4.6.2 gibt es da auch keine Unterschiede in der Struktur oder den Daten.

Verfasst: Mo 14. Nov 2005, 21:44
von HerrB
Was passiert, wenn Du

Code: Alles auswählen

SELECT type, name, value FROM con_system_prop ORDER BY type ASC, name ASC, value ASC
in phpMyAdmin ausführst?

Gruß
HerrB

Verfasst: Mo 14. Nov 2005, 21:55
von Dodger77
HerrB hat geschrieben:Was passiert, wenn Du

Code: Alles auswählen

SELECT type, name, value FROM con_system_prop ORDER BY type ASC, name ASC, value ASC
in phpMyAdmin ausführst?
phpMyAdmin zeigt mir die Datensätze an.

Um weitere Fehler durch z.B. nicht überschriebene Dateien auszuschließen, habe ich nochmal alle Dateien (Ordner "conlib", "contenido" und "pear") bis auf die "config.php" gelöscht und neu hochgeladen. Geändert hat sich dadurch aber auch nichts.

Direkt nach dem Einloggen ins Backend gibt's schon folgende Einträge im Errorlog (habe ich vorher gelöscht):

Code: Alles auswählen

[14-Nov-2005 21:53:57] /frameset.php?area=mycontenido&frame=1&menuless=1&changelang=〈=1&client=1&contenido=89147275e803b5f77db68f042cbe720d MySQL error 0: 
SELECT value FROM con_system_prop WHERE type='backend' AND name='leftframewidth'
[14-Nov-2005 21:53:57] /frameset.php?area=mycontenido&frame=1&menuless=1&changelang=〈=1&client=1&contenido=89147275e803b5f77db68f042cbe720d next_record called with no query pending.
[14-Nov-2005 21:53:58] /header.php?changelang=1&changeclient=1&contenido=89147275e803b5f77db68f042cbe720d MySQL error 0: 
SELECT value FROM con_system_prop WHERE type='backend' AND name='small-navigation'
[14-Nov-2005 21:53:58] /header.php?changelang=1&changeclient=1&contenido=89147275e803b5f77db68f042cbe720d next_record called with no query pending.
[14-Nov-2005 21:54:01] /frameset.php?area=system&contenido=89147275e803b5f77db68f042cbe720d MySQL error 0: 
SELECT value FROM con_system_prop WHERE type='backend' AND name='leftframewidth'
[14-Nov-2005 21:54:01] /frameset.php?area=system&contenido=89147275e803b5f77db68f042cbe720d next_record called with no query pending.

Gruß

Ingo

Verfasst: Mo 14. Nov 2005, 22:16
von emergence
der fehler intressiert mich...

welche php version ?
welche mysql version ?
welche mysql extension ? (siehe administration system)

Verfasst: Mo 14. Nov 2005, 22:21
von Dodger77
emergence hat geschrieben:der fehler intressiert mich...
Mich auch. :wink:

PHP 4.4.0
mySQL: 4.0.21 (Extension mysql)

Obiges gilt für beide Installationen.

Als Test habe ich mittlerweile die Tabelle nochmal gelöscht und Struktur + Daten der "funktionierenden" Neuinstallation übernommen. Das ändert aber auch nichts.

Verfasst: Mo 14. Nov 2005, 23:39
von emergence
-> http://bugs.mysql.com/797
obs damit zusammen hängt ?

..sollte in mysql 4.0.14 gefixed sein..

Verfasst: Di 15. Nov 2005, 09:45
von Dodger77
emergence hat geschrieben:..sollte in mysql 4.0.14 gefixed sein..
Ups, da hat's einen Zahlendreher gegeben. mySQL-Version 4.0.21

Was ich daran aber nicht ganz verstehe: warum funktioniert die gleiche Abfrage von phpMyAdmin aus, von Contenido aus aber nicht?

Ich habe jetzt noch eine neue Datenbank erstellt und die Inhalte kopiert. Keine Änderung.

Verfasst: Di 15. Nov 2005, 10:56
von Dodger77
Nun habe ich mal in der "functions.general.php" die Funktion "getSystemProperties" soweit abgeändert:

Code: Alles auswählen

function getSystemProperties()
{
	global $db_systemprop, $cfg;

	if (!is_object($db_systemprop))
	{
		$db_systemprop = new DB_Contenido;
	}

	$sql = "SELECT type, name, value FROM ".$cfg["tab"]["system_prop"]." ORDER BY type ASC, name ASC, value ASC";
	
	$result = mysql_query($sql);
	while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf ("TYPE: %s  Name: %s Value: %s", $row[0], $row[1], $row[2]);  
  }

}
Dann werden die Datensätze ohne Probleme ausgegeben. Die Abfrage funktioniert soweit also.

Verfasst: Di 15. Nov 2005, 11:36
von Dodger77
So, nun habe ich mal an der "/conlib/mysql.inc" geschraubt. Eine Änderung in Zeile 122 von:

Code: Alles auswählen

$this->Query_ID = @mysql_query($Query_String,$this->Link_ID);
in:

Code: Alles auswählen

$this->Query_ID = @mysql_query($Query_String);
hat das Problem interessanterweise verschwinden lassen.

Verfasst: Di 15. Nov 2005, 12:28
von emergence
ähm wie ?
das ist ein wenig merkwürdig und nicht wirklich nachvollziehbar warum bei dir der fehler auftritt...

Verfasst: Di 15. Nov 2005, 15:13
von Dodger77
emergence hat geschrieben:das ist ein wenig merkwürdig und nicht wirklich nachvollziehbar warum bei dir der fehler auftritt...
Sehe ich genauso, ich bin da nun etwas ratlos. Insbesondere da das bei dem Upgrade auftritt und bei der Neuinstallation halt nicht. Ich werde mal schauen, ob ich das bei einem weiteren Upgrade auf dem gleichen Server reproduzieren kann.