modul debug?

Gesperrt
phatbyte
Beiträge: 95
Registriert: Mi 2. Nov 2005, 14:05
Wohnort: Austria
Kontaktdaten:

modul debug?

Beitrag von phatbyte »

moin!

ich schreibe gerade ein modul und nun bekomme ich die fehlermeldung

Fatal error: Call to a member function on a non-object in
blabla/cms/front_content.php(864) : eval()'d code on line 855

bei einem include

wie kann ich das debuggn?

danke!
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

contenido/includes/config.misc.php

findest du
Code:

Code: Alles auswählen

/* To output the code when editing and browsing the frontend, set 
   this to true */ 
$cfg["debug"]["codeoutput"] = false; 
das false änderst du mal auf true...

der komplette code müsste dir dann angezeigt werden...
und dann schaust du bei der zeile 855 nach was falsch sein könnte...
*** make your own tools (wishlist :: thx)
phatbyte
Beiträge: 95
Registriert: Mi 2. Nov 2005, 14:05
Wohnort: Austria
Kontaktdaten:

Beitrag von phatbyte »

thx!
mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Beitrag von mfweb »

Hallo,

hat jemand noch einen Tip für mich, wie ich das ganze mache, wenn nicht die front_content.php betroffen ist?

Ich bekommen den Fehler:

Code: Alles auswählen

[10-Sep-2007 00:46:35] PHP Warning:  Call-time pass-by-reference has been deprecated - argument passed by value;  If you would like to pass it by reference, modify the declaration of [runtime function name]().  If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.  However, future versions may not support this any longer.  in /home/www/web159/html/contenido/includes/functions.mod.php(149) : eval()'d code on line 33
[10-Sep-2007 00:46:35] PHP Warning:  Call-time pass-by-reference has been deprecated - argument passed by value;  If you would like to pass it by reference, modify the declaration of [runtime function name]().  If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.  However, future versions may not support this any longer.  in /home/www/web159/html/contenido/includes/functions.mod.php(149) : eval()'d code on line 33
[10-Sep-2007 00:46:35] PHP Warning:  Call-time pass-by-reference has been deprecated - argument passed by value;  If you would like to pass it by reference, modify the declaration of [runtime function name]().  If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.  However, future versions may not support this any longer.  in /home/www/web159/html/contenido/includes/functions.mod.php(149) : eval()'d code on line 209
Unabhängig von der Fehlerart (ich weiß woran er liegt und wie er grundsätzlich behoben werden kann ;-) ): Wie kann ich den Fehler eingrenzen bzw. herausfinden, welches Modul betroffen ist?

Ich hab versucht in Zeile 149 von functions.mod.php den Code auszugeben:

Code: Alles auswählen

$output = eval($code);
echo "<pre>" . $code . "</pre>";
Da hat er aber leider nichts ausgegeben.
Dann hab ich ihn mir als Mail schicken lassen und habe dann mehr als 60 (!) Mails bekommen mit sämtlichen Input/Output-Codes :-(, ist aber ja eigentlich auch logisch, da er auch die fehlerfreien Module verschickt. Das ganze kann ich mit jeder Aktion im Modulbereich (also Style -> Module) auslösen.

Kann ich das irgendwie so eingrenzen, dass ich nur den schadhaften Code ausgebe, der mir meinen Fehler erzeugt? Es ist wahrscheinlich auch nur ein Modul, da ich pro Fehlerautritt immer den obigen dreier-Block erhalte.

Contenido 4.8.5 und PHP 4.4.4

Grüße
mfweb
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

4.8.5
Cool, die will ich auch haben...

Wenn 4.6.5 gemeint ist (sowas gab es mal?), würde ich sowieso updaten (Sicherheit).

Wann erscheint die Meldung, wenn Du sie nicht auf der fertigen Webseite siehst? Übrigens wäre es hier am einfachsten (wenn nicht schon beim Speichern die rote Leuchte erscheint), wenn Du das Modul temporär in eine Seite einbaust und dann das Frontend Debugging aktivierst.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Beitrag von mfweb »

HerrB hat geschrieben:
4.8.5
Cool, die will ich auch haben...
Upps :oops: , immer diese Zahlendreher ... Es ist Version 4.6.8.
HerrB hat geschrieben:Wann erscheint die Meldung, wenn Du sie nicht auf der fertigen Webseite siehst? Übrigens wäre es hier am einfachsten (wenn nicht schon beim Speichern die rote Leuchte erscheint), wenn Du das Modul temporär in eine Seite einbaust und dann das Frontend Debugging aktivierst.
Das ist ja gerade mein Problem: Die echo-Ausgabe erscheint nirgendwo. Es wurde kein Modul beim Speichern beanstandet (das hätte man ja durch die optische Hervorhebung gesehen). Von daher kann ich nicht herausfinden, welches Modul der Übeltäter ist. Ich kann natürlich jedes einzelne durchprüfen, aber ich wollte erst mal hören, ob jemand noch einen einfacheren Weg kennt.

Außerdem hat es mich stutzig gemacht, da wann immer ich auf einen Link oder Menüpunkt geklickt habe, die Fehlermeldung im errorlog erschienen ist. Mindestens aber wenn links die Modulauflistung neu geladen wird.

Grüße
mfweb
Zuletzt geändert von mfweb am Mo 10. Sep 2007, 13:19, insgesamt 1-mal geändert.
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!
mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Beitrag von mfweb »

Jetzt kann ich es noch nocht mal mehr reproduzieren. Mein Provider hat schon allow_call_time_pass_reference auf 'on' gesetzt. Und jetzt will ich ihn nicht fragen, ob er es vorrübergehend wieder auf 'off' setzt ;-) .

Trotzdem danke. Und vielleicht hat ja jemand noch ne Idee.

Grüße
mfweb
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!
Gesperrt