Setup ALTER TABLE Auto_increment Fehler #1062

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Setup ALTER TABLE Auto_increment Fehler #1062

Beitrag von bodil » Mo 24. Aug 2020, 09:52

Dazu, lieber Ortwin, dann doch noch mal eine Verständnis-(oder Logik-?)Frage:
Wenn ich mit diesen Zeile

Code: Alles auswählen

// Determine the type of $$var
        eval("\$t = gettype(\$$var);");
        switch ($t) {
            case 'array':
herausfinde, dass ich ein Array habe, wie kann es dann zwei Zeilen später zu einer Warnung kommen, weil ich eben kein Array habe?
Dank und Gruß!
Bodil

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Setup ALTER TABLE Auto_increment Fehler #1062

Beitrag von Oldperl » Mo 24. Aug 2020, 12:36

Servus,

sorry, aber das kann ich dir so einfach nicht beantworten. Zumindest die entsprechende Fehlermeldung wäre da schon hilfreich. Das Problem bei dieser Methode ist auch, dass sie zum Einen rekursiv aufgerufen wird, und zum Anderen auch statische Variable nutzt. Dazu noch die Nutzung der eval-Funktion, und schon ist das nicht mehr so einfach zu tracen.
Auch interessant wäre die genutzte PHP-Version, das es auch bei der Funktion gettype Änderungen gab.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Setup ALTER TABLE Auto_increment Fehler #1062

Beitrag von bodil » Mo 24. Aug 2020, 13:18

Oh Mist! Das Thema ist schon uralt, sehe ich gerade.
Thema auf Seite 1 war, dass das Errorlog mit solchen Meldungen vollläuft:

Code: Alles auswählen

[11-Oct-2019 12:33:20 Europe/Berlin] PHP Warning:  Invalid argument supplied for foreach() in /usr/.../contenido/classes/class.session.php on line 226
Die Warnung deutet darauf hin, dass $$var möglicherweise kein Array ist.
Du hattest hier viewtopic.php?p=180681#p180681 sehr anschaulich den Lösungsvorschlag von rethus kritisiert, der den Typ verschiedener Variablen abfragen wollte.
Ich war gerade über deine Zeile
Die zweite Prüfung für $l könnte entfallen, da diese Variable sowieso immer ein Array ist
gestolpert und dachte mir: $$var muss doch eigentlich auch immer ein Array sein? Ist nicht eigentlich ausgeschlossen, dass es überhaupt eine Warnung gibt?

Antworten