Vorlagen speichern nicht

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Vorlagen speichern nicht

Beitrag von Peer » Do 27. Aug 2020, 16:50

Hallo,

in einem meiner Projekte habe ich ein Einstellungsfehler bzw. ein Rechtefehler.

Die Veränderungen in den Vorlagen werden nicht gespeichert. Es wird zwar immer angezeigt das es gespeichert wurde, defakto ist es aber nicht.

Zum Beispiel beim Modul mpNivoSlider - da wähle ich einen Ordner aus meiner Dateiverwaltung aus, speichere und weg ist die Auswahl.

Jemand eine Idee wo ich nach dem Fehler suchen könnte?

Vielen Dank

Gruß

Peer

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von xmurrix » Do 27. Aug 2020, 17:03

Hallo Peer,

ich konnte das soeben nicht reproduzieren, verwende aber die aktuellste develop-Branch aus CONTENIDO-Git.

Wenn du admin-Rechte hast, fällt mir nur der SQL-Mode der Datenbank ein, der je nach Einstellung problematisch sein kann. Steht diesbezüglich auch nichts in der errorlog.txt?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Peer » Do 27. Aug 2020, 17:19

Hallo,

ich habe gerade geschaut auch im Error Text

So wie ich das sehe in der Tabelle con_container_conf eine ID gleich.

Code: Alles auswählen

	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:15 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:16] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.containerconfig.php(59)
	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:16 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:16] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.containerconfig.php(59)
	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:16 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:16] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.containerconfig.php(59)
	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:16 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:16] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.containerconfig.php(59)
	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:16 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:16] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.containerconfig.php(59)
	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:16 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:16] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.containerconfig.php(59)
	create() called in file functions.tpl.php(728)
	tplProcessSendContainerConfiguration() called in file include.tplcfg_edit.php(24)
	include_once() called in file main.php(173)

[27-Aug-2020 18:09:16 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?contenido=h155bv9mnds6ulm4h73gdnb6km&back=true INSERT INTO `con_container_conf` (`idcontainerc`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:19] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?area=con_tplcfg&action=tplcfg_edit&idart=72&idcat=71&frame=4&contenido=h155bv9mnds6ulm4h73gdnb6km INSERT INTO `con_actionlog` (`idlog`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.action.log.php(63)
	create() called in file class.backend.php(300)
	log() called in file main.php(182)

[27-Aug-2020 18:09:19 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?area=con_tplcfg&action=tplcfg_edit&idart=72&idcat=71&frame=4&contenido=h155bv9mnds6ulm4h73gdnb6km INSERT INTO `con_actionlog` (`idlog`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-27 18:09:22] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?area=con_tplcfg&action=tplcfg_edit&frame=4&mode=art&contenido=h155bv9mnds6ulm4h73gdnb6km&idcat=71 INSERT INTO `con_actionlog` (`idlog`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.action.log.php(63)
	create() called in file class.backend.php(300)
	log() called in file main.php(182)

[27-Aug-2020 18:09:22 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php?area=con_tplcfg&action=tplcfg_edit&frame=4&mode=art&contenido=h155bv9mnds6ulm4h73gdnb6km&idcat=71 INSERT INTO `con_actionlog` (`idlog`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von xmurrix » Do 27. Aug 2020, 19:47

Die Fehlermeldungen in der errorlog.txt kommen in der Regel durch strikten SQL-Modus des MySQL-Servers.

Das kann man in CONTENIDO wie folgt lösen. Erstelle, falls nicht vorhanden, eine Konfigurationsdatei "data/config/{ENVIRONMENT}/config.local.php" und schreibe folgendes rein:

Code: Alles auswählen

$cfg['db']['connection']['options'] = [
    MYSQLI_INIT_COMMAND => "SET SESSION sql_mode='';"
];
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Peer » So 30. Aug 2020, 19:51

Hey xmurrix,

vielen Dank für deinen Tipp.

Leider klappt es nicht.

Ich bekomme immer wieder diesen Fehler im error log

Code: Alles auswählen

[30-Aug-2020 20:46:34 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php INSERT INTO `con_template` (`idtpl`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547
[2020-08-30 20:46:34] Warning: "Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php INSERT INTO `con_template_conf` (`idtplcfg`) VALUES ('')
" at reportHalt() [class.db.driver.handler.php(1013)]
	reportHalt() called in file class.db.driver.handler.php(985)
	halt() called in file class.db.driver.handler.php(705)
	query() called in file class.item.collection.php(1121)
	createNewItem() called in file class.templateconfig.php(94)
	create() called in file functions.tpl.php(65)
	tplEditTemplate() called in file include.tpl_edit.action.php(19)
	include_once() called in file main.php(190)

[30-Aug-2020 20:46:34 Europe/Berlin] PHP Warning:  Database failure: 1062 (Duplicate entry '0' for key 'PRIMARY') - /contenido/main.php INSERT INTO `con_template_conf` (`idtplcfg`) VALUES ('')
 in /var/www/web13/htdocs/2020/contenido/includes/functions.general.php on line 1547

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von xmurrix » So 30. Aug 2020, 20:59

...Ich bekomme immer wieder diesen Fehler im error log...
Gab es da etwa ein Update einer alten CONTENIDO Installation? Falls ja, dann gibt es vermutlich Probleme mit den Tabellen.

Das Feld idtpl in der Tabelle "con_template" sollte das AUTO_INCREMENT Attribut haben. Das Gleiche gilt auch für das Feld "idtplcfg" in der Tabelle con_template_conf".
Das CONTENIDO Setup kümmert sich darum, die Attribute für Datenbankfelder vom Typ Primärschlüssel zu setzen. Es aber kann sein, dass in den Tabellen redundante Einträge mit gleicher id vorkommen, dann lässt sich das Feld auch nicht auf AUTO_INCREMENT umstellen. Wenn das nicht klappt, sollten Hinweise auf Probleme in der "setuplog.txt" auftauchen. Steht denn nichts in der "setuplog.txt"? Bei Problemen während des Setups wird man am Ende darüber informiert.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Faar » Mo 31. Aug 2020, 09:41

xmurrix hat geschrieben:
So 30. Aug 2020, 20:59
Gab es da etwa ein Update einer alten CONTENIDO Installation? Falls ja, dann gibt es vermutlich Probleme mit den Tabellen.
Moin Murat.
Wir hatten doch genau dieses Problem beim Setup mal durchdiskutiert.
Problem ist, wenn man es richtig lösen wollte, müsste man das recht umständlich programmieren.
Ich weiß jetzt nicht, welcher Artikel es war aber es ging ums Setup.
Es aber kann sein, dass in den Tabellen redundante Einträge mit gleicher id vorkommen,...
Steht denn nichts in der "setuplog.txt"? Bei Problemen während des Setups wird man am Ende darüber informiert.
Soweit ich mich erinnere, hatte ich das manuell in der Datenbank gelöst.
Es sind ja nicht 100.000 Einträge, sondern nur wenige.
Ob die 0 als ID besetzt sein darf?
Weil Autoincrement versucht ja, es neu zu sortieren und wenn 0 bereits besetzt ist, geht das ja nicht.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von xmurrix » Mo 31. Aug 2020, 10:46

Hallo Frank,
Faar hat geschrieben:
Mo 31. Aug 2020, 09:41
...Wir hatten doch genau dieses Problem beim Setup mal durchdiskutiert...
stimmt, daran kann ich mich erinnern. Wenn in Datenbanktabellen Einträge vorkommen, die als ID den Wert null haben, kann das auch zum gleichen Problem führen. Die ID 0 wird wohl MySQL intern zum Anlegen eines leeren Datensatzes verwendet.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Faar » Mo 31. Aug 2020, 12:30

xmurrix hat geschrieben:
Mo 31. Aug 2020, 10:46
Die ID 0 wird wohl MySQL intern zum Anlegen eines leeren Datensatzes verwendet.
Ja, und folgerichtig fängt Autoincrement bei 1 an.
https://dev.mysql.com/doc/refman/8.0/en ... ement.html
Man kann danach offenbar 0 als Wert eintragen aber wenn man einfach nur mit Autoincrement füllt, fängt es bei 1 an.

Meine Lösung bestand, soweit ich mich erinnere, darin, die problematische ID nach oben oder hinten anzufügen, damit Autoincrement durchlaufen kann, danach konnte ich die ID wieder an den früheren Ort holen.
Das würde passen.

Idealerweise wäre natürlich, wenn das Setup prüft, ob id=0 vergeben ist und dann alles erstmal in einer Sortiertabelle schreibt und danach ordentlich zurück holt. Theoretisch sollte das sogar als Transaktion laufen können.
Soweit ich weiß, hattest Du noch das Problem angesprochen, dass nicht bei allen Tabellen die ID und die Reihenfolge beliebig ist.
Bei Autoincrement nehme ich das aber an.

VG,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von xmurrix » Mo 31. Aug 2020, 13:00

Ein leerer Datensatz wird wie folgt erstellt:

Code: Alles auswählen

INSERT INTO `con_template` (`idtpl`) VALUES ('')
Die ItemCollection-Klasse bekommt als id den Wert NULL, baut das INSERT-Statement zusammen und konvertiert alles, was nicht numerisch ist, in einen String, daher das ''.
Vermutlich interpretiert dann die Datenbank den leeren String als eine 0, daher die Fehlermeldung "(Duplicate entry '0' for key 'PRIMARY')".

Man kann überlegen, ob man hier eine NULL anstatt einem leeren String verwendet, also folgende Anweisung generiert:

Code: Alles auswählen

INSERT INTO `con_template` (`idtpl`) VALUES (NULL)
Das ist zwar eine kleine Anpassung, ändert aber das bisherige Verhalten, d. h. man sollte prüfen, was es für Auswirkungen nach sich zieht. Außerdem löst es das Anfangsproblem nicht, da hier intern MySQL auch 0 verwendet.
...Idealerweise wäre natürlich, wenn das Setup prüft, ob id=0 vergeben ist und dann alles erstmal in einer Sortiertabelle schreibt und danach ordentlich zurück holt...
Ich weiß nicht, ob das eine gute Idee ist, wenn das Setup die Tabelleninhalte ändert. Das Ändern der Werte der Primärschlüsselfelder kann uns die referentielle Integrität zerschießen, wenn in anderen Tabellen Verweise auf die IDs existieren. Es gibt aber ein Ticket zum Prüfen der Tabellen auf redundante/fehlerhafte Primärschlüssel. Besser ist es, wenn man den Benutzer darauf aufmerksam macht und der Benutzer diese Probleme manuell löst.
...Soweit ich weiß, hattest Du noch das Problem angesprochen, dass nicht bei allen Tabellen die ID und die Reihenfolge beliebig ist...
Die Tabelle für Plugins ist z. B. so eine.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Peer » Mo 31. Aug 2020, 17:04

xmurrix hat geschrieben:
So 30. Aug 2020, 20:59
...Ich bekomme immer wieder diesen Fehler im error log...
Gab es da etwa ein Update einer alten CONTENIDO Installation? Falls ja, dann gibt es vermutlich Probleme mit den Tabellen.
Eigentlich gabe es kein Update. Das CMS fing an herum zu spinnen. In Kategorie wurde immer nur ein Element angezeigt und bei jedem neuladen ein anders. Dann habe ich Contenido auf eienem anderen Server mit der neuesten Version neu installiert und per Rohdaten die ganzen alten Daten integriert.

Kategorien habe ich alle neu angelegt... Dann habe ich die Daten auf den alten Servergeladen und wollte diese per Setup fertigstellen.

Der Setup konnte keine Config Datei erstellen und brach sozusagen dort immer ab.

Dann habe ich manuel eine Config angelegt.

Aber da ist noch irgendwo der Wurm

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Faar » Mo 31. Aug 2020, 17:04

xmurrix hat geschrieben:
Mo 31. Aug 2020, 13:00
Man kann überlegen, ob man hier eine NULL anstatt einem leeren String verwendet, also folgende Anweisung generiert:

Code: Alles auswählen

INSERT INTO `con_template` (`idtpl`) VALUES (NULL)
Das würde dann dem Satz entsprechen und sollte demnach funktionieren:
"If the column is declared NOT NULL, it is also possible to assign NULL to the column to generate sequence numbers."
https://dev.mysql.com/doc/refman/8.0/en ... ement.html
Das ist zwar eine kleine Anpassung, ändert aber das bisherige Verhalten, d. h. man sollte prüfen, was es für Auswirkungen nach sich zieht.
Bei einer Autoincrement Spalte sollte der Beschreibung nach die nächsthöhere Nummer als ID gewählt werden.
Das schützt vor dem hier:
"Updating an existing AUTO_INCREMENT column value also resets the AUTO_INCREMENT sequence."
Außerdem löst es das Anfangsproblem nicht, da hier intern MySQL auch 0 verwendet.
Ob das hier weiter hilft?
https://dev.mysql.com/doc/refman/8.0/en ... ue_on_zero
Da geht es darum, dass 0 in der Tabelle gespeichert ist.
"This mode can be useful if 0 has been stored in a table's AUTO_INCREMENT column."
Und da sind wir schon beim SQL-Mode, der ja hin und wieder Ärger macht.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Faar » Mo 31. Aug 2020, 17:05

Peer hat geschrieben:
Mo 31. Aug 2020, 17:04
Aber da ist noch irgendwo der Wurm
Vielleicht da, im sql-mode, der schon lange Probleme macht.
https://dev.mysql.com/doc/refman/8.0/en ... ue_on_zero
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von xmurrix » Mo 31. Aug 2020, 18:00

Peer hat geschrieben:
Mo 31. Aug 2020, 17:04
...Aber da ist noch irgendwo der Wurm...
Schau bitte mal nach, mit welchem SQL-Modus die Datenbank läuft.
Dazu einfach in einem Modul folgenden Code hinzufügen und die Seite aufrufen:

Code: Alles auswählen

$db = cRegistry::getDb();
$sql = "SHOW VARIABLES LIKE 'sql_mode';";
$db->query($sql);
if ($db->nextRecord()) {
    $var = $db->getRecord();
    echo '<pre>sql_mode: ' . print_r($var[1], true) . '</pre>';
}
Faar hat auch darauf hingewiesen, dass es am SQL-Modus liegt. Alle Zeichen deuten darauf.

Mein Vorschlag wäre, in der "data/config/{ENVIRONMENT}/config.local.php" den SQL-Modus wie zuvor beschrieben zu setzen, dann zu prüfen, ob der SQL-Modus wie gewünscht überschrieben wurde.

Ist da etwas ähnliches wie folgt drin, musst du damit rechnen, dass CONTENIDO nicht wie gewünscht funktioniert:

Code: Alles auswählen

STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Ist es leer, dann ist das ein gutes Zeichen. Danach solltest du das Setup erneut ausführen, allerdings nicht mit der Änderung in der "data/config/{ENVIRONMENT}/config.local.php", sondern direkt in der "data/config/{ENVIRONMENT}/config.php", da meines Wissens nur diese Konfiguration vom Setup verwendet wird.

Passe also die Datenbank-Einstellung in der "data/config/{ENVIRONMENT}/config.php" wie folgt an:

Code: Alles auswählen

$cfg['db'] = array(
    'connection' => array(
        ...
        'options' => array(
            MYSQLI_INIT_COMMAND => "SET SESSION sql_mode='';"
        ),
        ...
    ),
);
Danach das Setup ausführen und mit viel Glück ist CONTENIDO korrekt installiert.

Falls du Zugriff auf den Server hast, kannst du den SQL-Mode auch direkt in der my.ini in der Sektion mysqld ändern:

Code: Alles auswählen

[mysqld]
sql_mode=""
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Re: Vorlagen speichern nicht

Beitrag von Peer » Di 1. Sep 2020, 15:08

Vielen Dank für eure Unterstützung und eure Gedult.

Ich habe alle änderungen ausprobiert.

Bei SQL Mode bekomme ich das hier
sql_mode: IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Wenn ich die anderen Einstellungen mache und dann den Setup bekomme ich ab der zweiten Seite eine weiße Seite.

Ich werde nun den Anbieter bitten die SQL Einstellungen mit einem anderen Paket abzuglichen, bei dem Contenido einbahnfrei läuft.

Viele Dank

Antworten