[solved] cAutoload::addClassmapConfig() must be array

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

[solved] cAutoload::addClassmapConfig() must be array

Beitrag von rethus »

Ich habe gerade eine Contenido-Installation von Lokal, auf den Server geladen.
Frontend wird gar nicht angezeigt, zum Backend erhalte ich folgende Meldung:

Code: Alles auswählen

Catchable fatal error: Argument 1 passed to cAutoload::addClassmapConfig() must be of the type array, integer given, called in /var/www/gmbh.de/contenido/classes/class.autoload.php on line 124 and defined in /var/www/test.gmbh.de/contenido/classes/class.autoload.php on line 156
Geliefert wird dort ein String, erwartet scheinbar ein Array.

Hier die besagte stelle im Code:

Code: Alles auswählen

  $file = $cfg['path']['contenido_config'] . 'config.autoloader.php';
        $arr = include_once($file);
        if ($arr) {
           self::addClassmapConfig($arr);
        }
Hier gibt er 1 zurück (meiner Meinung nach, weil die Datei erfolgreich inkludiert wurde). Wäre es nicht "richtiger" den Code an dieser Stelle so aufzubauen:

Code: Alles auswählen

        if(include_once($file)){
               self::addClassmapConfig($arr);
        }
und dann in der include-Datei anstatt

Code: Alles auswählen

return array(....
einfach

Code: Alles auswählen

$arr = array(....
zu setzen?
Oder zumindest in der ifabfrage anstatt if($arr) if(is_array($arr)) verwenden.
Zuletzt geändert von rethus am Mi 25. Jun 2014, 13:52, insgesamt 1-mal geändert.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
mischa.holz
Beiträge: 86
Registriert: Do 28. Jun 2012, 15:30
Wohnort: Darmstadt
Kontaktdaten:

Re: Argument 1 cAutoload::addClassmapConfig() must be array

Beitrag von mischa.holz »

Das return statement sollte eigentlich so funktionieren. Ist die config.autoloader.php vorhanden und lesbar?
Eigentlich sollte die auch nicht bearbeitet werden...
CONTENIDO Doku - API Doku - Git Repo - Bug Tracker - CONTENIDO 4.9.4!!
Arbeitet nicht mehr bei 4fb
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Argument 1 cAutoload::addClassmapConfig() must be array

Beitrag von rethus »

Alles in allem ist das Problem nun gelöst.
Scheinbar wurde der Webserver (auf den ich in diesem Fall leider keinen konfigurierbaren Zugriff hatte) mit falschen Rechten (ver)konfiguriert.
Da Contenido nicht auf diesem Server installiert, sondern lokal installiert und dann nur auf den Server umgezogen wurde, war der Fehler nicht direkt so offensichtlich.

Eine Testinstallation eines neuen Contenido-Systems hatte dann auch prompt die Verzeichnisrechte beanstandet, obwohl diese auf 777 gesetzt waren. Es schien irgend etwas mit der Zugehörigkeit der Benutzergruppen zu tun gehabt haben... leider hat man mir hier kein brauchbares Feedback gegeben, das den Fehler hier genau beschreibt.
Dennoch hoffe ich, das es dem ein oder anderen weiterhilft, der mit dem Problem zu kämpfen hat.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
Antworten