Seite 1 von 1
Fehler im BE: im Editor schlägt dasEinbinden der config fehl
Verfasst: Fr 3. Jun 2011, 13:30
von gorgo
hallo zusammen,
würde mich sehr freuen, wenn ihr mir bei folgendem Prob auf die Sprünge helft, denn ich verstehe es einfach nicht!!!
Contenido Vs. 4.8.15 ohne Beispielmandant.
Sobald ich im Editor auf das Bleistift-Icon klicke erhalte ich folgende Fehlermeldung:
Code: Alles auswählen
Warning: include_once(config.php) [function.include-once]: failed to open stream: No such file or directory in [...]/httpdocs/contenido/external/backendedit/front_content.php on line 71
Warning: chdir() [function.chdir]: No such file or directory (errno 2) in [...]/httpdocs/contenido/external/backendedit/front_content.php on line 73
Die config.php wird an dieser Stelle (also in der fehlerhaften Datei) folgendermaßen eingebunden
Code: Alles auswählen
include_once ($cfgClient[$client]["path"]["frontend"]."config.php");
chdir($cfgClient[$client]["path"]["frontend"]);
Und jetzt kommt's. Wenn ich vor dem include ein echo ausgebe, also
Code: Alles auswählen
echo $cfgClient[$client]["path"]["frontend"];
include_once ($cfgClient[$client]["path"]["frontend"]."config.php");
chdir($cfgClient[$client]["path"]["frontend"]);
dann wird die config.php gefunden, eingebunden und er meckert nicht mehr.
Das echo ist Quatsch und ich erhalte jede Menge »headers already sent«-Fehler, aber ich verstehe es nicht, was da passiert ...
Wie kann man da Contenido auf die Sprünge helfen ohne ein echo auszugeben?
Das oben Beschriebene besagt ja, dass der Pfad in der DB stimmt.
Ratlos!
Danke schon mal und Grüße
Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Fr 3. Jun 2011, 13:59
von BagHira
Servus gorgo,
wo liegt den deine config.php die du includen willst, in der Root?
Den $cfgClient[$client]["path"]["frontend"] ist ja die Root ("The root server path where all frontends reside").
Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Fr 3. Jun 2011, 14:17
von gorgo
Hallo BagHira,
die config.php liegt im Frontend-Verzeichnis, sprich $cfgClient[$client]["path"]["frontend"] ist bei mir [...]/httpdocs/cms/
der Pfad stimmt, wie gesagt, aber Contenido hängt irgendwie ... das echo weckt es auf ???
Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Fr 3. Jun 2011, 14:36
von Halchteranerin
ähhh, das ist aber ein sehr ungewöhnlicher Pfad, normalerweise heißt er htdocs und nicht httpdocs.
Ich verstehe auch nicht, wo du genau die config.php einbindest und wozu.

Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Fr 3. Jun 2011, 15:23
von gorgo
hallo,
hab den Frontendpfad gekürzt, heisst komplett /var/www/vhosts/XXX/httpdocs/cms/
Ich verstehe auch nicht, wo du genau die config.php einbindest und wozu.
Ja, ääähm ... die config sollte standardmäßig eingebunden werden, in der Datei contenido/external/backendedit/front_content.php Zeile 70 und zwar wie folgt:
Code: Alles auswählen
# include the config file of the frontend to init the Client and Language Id
include_once ($cfgClient[$client]["path"]["frontend"]."config.php");
chdir($cfgClient[$client]["path"]["frontend"]);
bin mir nicht sicher warum dies eingebunden wird, verstehe es aber so, dass aus der config die default-sprach und client-id geholt wird und ins Frontend-Verzeichnis gewechselt wird, damit auf die richtigen Styles und Javascripte zugegriffen werden kann.
hmmm, und nu?
Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Fr 3. Jun 2011, 17:58
von BagHira
Servus gorgo,
okay ich stand etwas auf dem Schlauch und hab nicht kapiert was du genau meinst - das sollte jetzt aber klar sein
Was mir dazu einfällt wäre, wie schauen die Rechte der config.php aus und auch wenn du es schon sagtest, der Pfad stimmt?
Was steht den bei "Server-Pfad" & "Web-Adresse" in den Mandanteneinstellungen (Administration-> Mandanten-> "Dein Mandat"-> ?
Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Sa 4. Jun 2011, 19:35
von gorgo
Hallo BagHira,
ich muss mich für mein ungenaues Anfangspost entschuldigen.
Das Problem ist nicht der Pfad, sondern die inexistente Variable $client.
Also zusammengefasst: Ich klicke im BE auf Editor -> alles ok.
Ich klicke im Editor auf das Bearbeiten-Icon -> die config wird nicht gefunden, wegen dem fehlenden $client ist der Pfad leer.
Wo kriege ich aber jetzt $client her? bzw. warum fehlt sie. Habe parallel eine Contenido-Installation inkl. Beispielmandant. Bei dieser funzt es ohne Probleme. Habe meine BE-Einstellungen mit dieser Installation abgeglichen. Trotzdem gibt es im Verhalten Unterschiede.
Habe das proforma mit einem relativen Pfad gelöst, spricht da – ausser dass ich den Code lieber nicht anrühren möchte - irgendetwas dagegen?
Code: Alles auswählen
include_once ("../../../cms/config.php");
$client = $load_client;
chdir($cfgClient[$client]["path"]["frontend"]);
Schon doof, dass ich dafür einen so großen Thread aufmachen muss

Danke trotzdem für eine erhellende Nachricht. Irgendetwas ist da noch gewaltig faul
Trotzdem hier die Antworten zu den Fragen (man weiss ja nie)
Was mir dazu einfällt wäre, wie schauen die Rechte der config.php aus und auch wenn du es schon sagtest, der Pfad stimmt?
Webserver hat Leserechte.
Was steht den bei "Server-Pfad" & "Web-Adresse" in den Mandanteneinstellungen (Administration-> Mandanten-> "Dein Mandat"-> ?
/var/www/vhosts/XXX/httpdocs/cms/
http://XXX/cms/
Re: Fehler im BE: im Editor schlägt dasEinbinden der config
Verfasst: Sa 4. Jun 2011, 19:49
von BagHira
Servus gorgo,
hat sich ja geklärt und ich stand da voll auf dem Schlauch
Aber leider glaub ich, dass ich da jetzt nicht mehr viel beitragen kann... schade.
Das Vorhalten von Contenido kann ich mir dabei leider nicht erklären, den die config.php wird ja immer geladen - der Pfad sollte auch da sein.
GELÖST: Fehler im BE: im Editor schlägt das ...
Verfasst: Sa 4. Jun 2011, 19:53
von gorgo
Hallo nochmal,
und wieder sind zwei große Erdäpfelscheiben auf meinen Augen schuld.
Hier die Lösung für das Prob:
im Layout hatte ich im head-tag noch den Support für das XFN (XHTML Friends Network) mit drin, was zur Folge hatte, dass kein base-tag eingebunden wurde, was wiederrum meinen oben beschriebenen Schlamassel zur Folge hatte.
Also kurz: entweder ein cleanes <head> ins Layout oder in contenido/external/frontend/front_content.php auf Zeile 879 den Code auf die eigenen Bedürfnisse anpassen
Code: Alles auswählen
$code = str_ireplace_once("<head>", "<head>\n".$baseCode, $code);
Danke nochmal und schönes WE