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. :oops:

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 :oops:

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 :oops:
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 :lol:
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