errorlog Redefinition of parameter $class

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

errorlog Redefinition of parameter $class

Beitrag von McHubi » Mo 26. Aug 2019, 22:56

Hallo zusammen,


ich habe hier eine 4.9er Installation und komme auf einmal nicht mehr ins Backend, da der Server ständig einen 500-er Fehler ausspuckt. Das Server-Errorlog sagt gar nichts, der einzige Hinweis den ich habe ist das Contenido-Errorlog, was bei jedem Aufruf der Backend-URL diesen Eintrag erzeugt:

PHP Fatal error: Redefinition of parameter $class in /var/www/web932/html/2/contenido/classes/html/class.html.formelement.php on line 46

Die fragliche Funktion sieht so aus:

Code: Alles auswählen

public function __construct(
        $name = '', $id = '', $disabled = '', $tabindex = '', $accesskey = '',
        $class = 'text_medium', $class = ''
    ) {

        parent::__construct();

        $this->updateAttribute('name', $name);

        if (is_string($id) && !empty($id)) {
            $this->updateAttribute('id', $id);
        }

        $this->_tag = 'input';

        $this->setClass($class);
        $this->setDisabled($disabled);
        $this->setTabindex($tabindex);
        $this->setAccessKey($accesskey);

    }
An der Datei/Funktion wurde jedoch nichts verändert...

Weitere Eckdaten:

Contenido-Version: 4.9 (sorry wg. der fehlenden genauen Versionsnummer, ich finde grade ums Verrecken nicht per ftp die php-Datei mit den Infos - Brett->Kopf)
PHP: 7.0
AMR: Aktiviert

Diese 4.9 läuft in einem Unterverzeichnis "root/2/..." während unter "root/..." die aktuelle 4.10.0 installiert ist. Der Zugriff ins Front- und Backend der 4.10 läuft einwandfrei, auch das Frontend der 4.9 - nur ins Backend der 4.9 komme ich nicht mehr rein. Allerdings hat das eine ganze Weile geklappt, die beiden Installationen nebeneinander her laufen zu lassen. AMR ist übrigens in der 4.10 deaktiviert bzw. erst gar nicht installiert.

Jemand eine Idee? Danke euch! :D
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

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

Re: errorlog Redefinition of parameter $class

Beitrag von Faar » Di 27. Aug 2019, 10:13

Moin Hubi,

Du könntest mal in den beiden Config.php schauen, ob die Serverpfade alle korrekt sind, also ob die /2/ wirklich auch nur bei der 2 drin steht und umgekehrt. Eine parallele /1/ wäre vermutlich besser als nur Unterverzeichnis, aber sollte trotzdem gehen.
Nur wenn im Pfad irgendwo die /2/ fehlt, greift es auf die 4.10 zu statt auf die 4.9
Vielleicht ist im Mandanten auch der Pfad falsch eingetragen?

Der fatale PHP-Fehler sagt aus, dass die Funktion zweimal $class definiert. $class = 'text_medium', $class = ''
Das darf und kann nicht sein. Bitte Updaten 8)

Versionsnummer sollte in der Readme.txt stehen, die sich im /-Verzeichnis Deiner Contenido Installation befindet.
Oder in der Datenbank.

Das AMR hat höchstens Probleme mit Frontendpfade, die sich kaum unterscheiden, wie / oder /2 aber mit Serverpfaden hat das nichts zu tun und schon gar nicht im Backend.
:)
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

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

Re: errorlog Redefinition of parameter $class

Beitrag von Oldperl » Di 27. Aug 2019, 13:42

Servus,

die Versionsnummer findet man in der contenido/includes/startup.php ziemlich am Anfang

Code: Alles auswählen

// SetEnv CON_VERSION
defined('CON_VERSION') || define('CON_VERSION', '4.10.0');
Wenn es erst lief, und dann nicht, und Du selbst nichts geändert hast, kann es mit einem Serverupdate von PHP oder Apache zusammen hängen.

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

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: errorlog Redefinition of parameter $class

Beitrag von McHubi » Di 27. Aug 2019, 19:47

Hi Leuts,

Danke schon mal für eure Antworten. Also ich hab tatsächlich keine Änderungen vorgenommen und die Version ist die 4.9.10. Pfade stimmen bei beiden Versionen.
Der fatale PHP-Fehler sagt aus, dass die Funktion zweimal $class definiert.
Und wieder "Wald->Bäume". Dass mir das

Code: Alles auswählen

$class = 'text_medium', $class = ''
nicht aufgefallen ist... War doch grad erst kurz vor 23 Uhr... Seufz. Hab die zweite Definition testweise auskommentiert

Code: Alles auswählen

$class = 'text_medium'/*, $class = ''*/
und dann ging es wieder mit dem Zugriff aufs Backend...

Wie das da reinrekommen ist, ist mir schleierhaft. In den Originaldateien der 4.9.10 ist die zweite Definition $class='' nicht in der function drin.

Kurioserweise kommt beim Aufruf des im Account enthaltenen Webpostfachs des Hosters eine Fehlermeldung, dass ein interner Serverfehler vorliegen würde. Und das dürfte m.M.n. herzlich wenig mit CON zu tun haben...

Hm... Nuja, Backends und Frontends laufen und mit dem Postfach soll sich der Hoster rumschlagen...

DANKE EUCH! :D
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

Antworten