PHP-warning im errorlog - wie debuggen?

Gesperrt
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

PHP-warning im errorlog - wie debuggen?

Beitrag von Halchteranerin » Di 21. Dez 2010, 00:14

Hallo zusammen,

nachdem ich dem Geheimnis der sporadisch auftretenden weißen Seite noch nicht auf die Spur gekommen bin, tauchen jetzt plötzlich Fehlermeldungen bzw. eigentlich Warnungen im errorlog, z. B.:
[19-Dec-2010 01:45:10] PHP Warning: chdir() [<a href='function.chdir'>function.chdir</a>]: No such file or directory (errno 2) in /Mandantenpfad/front_content.php(926) : eval()'d code on line 492
[19-Dec-2010 07:19:43] PHP Warning: chdir() [<a href='function.chdir'>function.chdir</a>]: No such file or directory (errno 2) in /Mandantenpfad/cms/front_content.php(926) : eval()'d code on line 493
Danach kommt wieder eine, die sich auf Zeile 492 bezieht und dann gleich 6 mit der Zeile 493. Andere Zeilen kommen nicht vor.

Dann, anderer Provider (und Contenido 4.8.5, im Gegensatz zu 4.8.14 oben), gleiche Fehlermeldungen, nur mit anderen Zeilennr.:
[20-Dec-2010 23:25:41] PHP Warning: chdir() [<a href='function.chdir'>function.chdir</a>]: No such file or directory (errno 2) in /Mandantenpfad/front_content.php(932) : eval()'d code on line 656
[20-Dec-2010 23:32:42] PHP Warning: chdir() [<a href='function.chdir'>function.chdir</a>]: No such file or directory (errno 2) in /Mandantenpfad2/front_content.php(932) : eval()'d code on line 764
Hier sind also zwei verschiedene Mandantenpfade betroffen, obwohl mehrere Mandanten vorhanden sind, bei der ersten Installation habe ich nur einen Mandanten.

Wie gesagt, die Fehlermeldungen tauchen plötzlich und aus heiterem Himmel auf. Ich hatte noch irgendwas im Hinterkopf mit dem Frontend-Debugging, aber als ich das aktiviert habe, bin ich auch nicht wirklich schlauer geworden. :?

Hat jemand für mich eine Idee oder einen Ansatzpunkt? :roll:

Viele Grüße
Christa
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

Dodger77
Beiträge: 3625
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: PHP-warning im errorlog - wie debuggen?

Beitrag von Dodger77 » Di 21. Dez 2010, 06:49

Wegen

Code: Alles auswählen

eval()'d code
kann man von einem Problem in einem Modul ausgehen. Zum nachschauen, wo das Problem genau auftritt, kann man eine Datei "contenido/includes/config.local.php" anlegen mit folgendem Inhalt:

Code: Alles auswählen

<?php

$cfg["debug"]["codeoutput"] = true;

?>
oder bei einer bestehenden Datei die Zeile hinzufügen. Dann sollte im Frontend eine Textarea auftauschen, in der der gesamte Code steht. Per Copy&Paste kann man dann im Editor seiner Wahl die Zeilennummer herausfinden und somit dort das betroffene Modul.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: PHP-warning im errorlog - wie debuggen?

Beitrag von Halchteranerin » Di 21. Dez 2010, 08:33

Dodger77 hat geschrieben:oder bei einer bestehenden Datei die Zeile hinzufügen.
Danke, dann hatte ich mich doch richtig erinnert. Ich habe das in der config.misc.php auf true gesetzt, denn die Zeile ist ja schon drin. Gerade sind keine Fehler im errorlog, aber ich habe noch im Editor die Ausgabe von einem anderen Mal gehabt. Also von der Site, wo es die Zeilen 492/493 betrifft. Hier der Code ab Z. 485:

Code: Alles auswählen

        #Build link to previous result page
        if ($page > 1) {
            $p = $page -1;
            // this is just for sample client - modify to your needs!
            if ($cfg['url_builder']['name'] == 'front_content') {
                $aParams = array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'searchterm' => $searchterm_display, 'page' => ($p.$sArtSpecs));
            } else {
                $aParams = array('search' => array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'searchterm' => $searchterm_display, 'page' => ($p.$sArtSpecs)), 
                                'idcat' => $idcat, // needed to build category path
                                'lang' => $lang, // needed to build category path
                                'level' => 1); // needed to build category path
            }
 
Die Zeilen 492 und 493 sind diese hier:

Code: Alles auswählen

aParams = array('search' => array('lang' => $lang, 'idcat' => $idcat, 'idart' => $idart, 'searchterm' => $searchterm_display, 'page' => ($p.$sArtSpecs)), 
                                'idcat' => $idcat, // needed to build category path
Das würde auch die weiße Seite beim Suchen evtl. erklären, obwohl die Fehler im errorlog nicht von Anfang an dort waren, außerdem habe ich bei der anderen Site ein ganz anderes Suchmodul im Einsatz. :roll:
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

Dodger77
Beiträge: 3625
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: PHP-warning im errorlog - wie debuggen?

Beitrag von Dodger77 » Di 21. Dez 2010, 09:05

Alternativ kannst du natürlich auch mal in den Modulen nach "chdir" suchen, damit wir eingrenzen können, welches Modul da überhaupt betroffen sein könnte. Die genannten Codeabschnitt können da nicht verantwortlich sein.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: PHP-warning im errorlog - wie debuggen?

Beitrag von Halchteranerin » Di 21. Dez 2010, 18:56

Dodger77 hat geschrieben:Alternativ kannst du natürlich auch mal in den Modulen nach "chdir" suchen, damit wir eingrenzen können, welches Modul da überhaupt betroffen sein könnte.
mhhh, ja, der Tipp war schon wesentlich besser. :lol: Das erklärt auch, warum der Fehler bei zwei Sites auftritt, bei der dritten nicht: die dritte Site hat keine Bildergalerie! Schön, jetzt weiß ich, an welchem Modul es liegt (bzw. ungefähr, es gibt zwei potentielle Module, die aber zusammenhängen), aber ich weiß immer noch nicht, was es mit der Warnung auf sich hat. :(

Ach, jetzt weiß ich es doch. Schön, dass wir darüber gesprochen haben. :wink:
http://forum.contenido.org/viewtopic.ph ... 06#p145606

Da steht es, aber als ich nach chdir gesucht habe, hat die Forumsuche diesen Link NICHT ausgegeben. :twisted:
McHubi schrieb dort im August "Mal schauen, vielleicht bastel ich da bei Gelegenheit mal eine Abfrage rein ob das Modul im Back- oder Frontend aufgerufen wird.", aber das hat er wohl noch nicht gemacht. Ist es schwierig, eine solche Abfrage einzubauen? War da nicht irgendwas mit if $edit? Die Suche gibt wieder mal nichts her bzw. macht das $-Zeichen auch noch weg ...
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

Dodger77
Beiträge: 3625
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: PHP-warning im errorlog - wie debuggen?

Beitrag von Dodger77 » Di 21. Dez 2010, 21:54

Genau:

Code: Alles auswählen

if ($edit) {
    // ich bin im Backend
} else {
    // ich nicht
}
BTW: Wenn ich nach "chdir" suche, finde ich den Thread direkt unter diesem. Aber vielleicht funktioniert die bei mir anders. :wink: Sonderzeichen klappen allerdings nicht in der Suche, da hast du Recht.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: PHP-warning im errorlog - wie debuggen?

Beitrag von Halchteranerin » Di 21. Dez 2010, 23:06

Dodger77 hat geschrieben:Genau:

Code: Alles auswählen

if ($edit) {
    // ich bin im Backend
} else {
    // ich nicht
}
Danke, jetzt muss ich nur noch die richtigen Stellen im Modul finden. :lol:
Dodger77 hat geschrieben:BTW: Wenn ich nach "chdir" suche, finde ich den Thread direkt unter diesem.
Genauer genommen habe ich nach function.chdir gesucht. Und da habe ich es nicht gesehen. Wenn ich jetzt danach suche, erscheint es "plötzlich". :shock: Gib's zu, du hast gezaubert. :D
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

Gesperrt