Andreas
09.08.2007, 17:28
Die Autoren von Modifikationen bemühen sich nach Kräften fehlerfreie Produkte zu liefern, doch bekanntermaßen ist dies (selbst theoretisch) ein Ding der Unmöglichkeit.
Daher wird es immer wieder vorkommen dass hier und dort Fehler auftreten.
Doch häufig handelt es sich nur um Kleinigkeiten, und mit ein wenig Hintergrundwissen kann man diese schnell selbst finden.
Auch wenn es einem dann vielleicht nicht gelingt das Problem zu beheben bzw. die Lösung nicht offensichtlich ist, so kann man dem Autor doch exakt sagen wo das Problem zu suchen ist.
Grob gesagt gibt es (abgesehen von fehlerhaften Verhalten, d.h. der Hack tut nicht ganz was er soll) 2 Arten von Fehlern: MySQL Fehler (verursacht durch fehlende Tabellen, etc.) und PHP Fehler.
PHP Fehler werden oft durch Tippfehler oder falsche Variablenverwendung ausgelöst.
Das wichtigste ist zunächst einmal zu verstehen was PHP einem mit einer Meldung wie
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------eigentlich sagen möchte?
Diese Meldung besagt dass bei der Ausführung eines Codes (dies kann ein Plugin oder ein Template sein) in somefile.php Zeile 251 ein Fehler some error text aufgetreten ist.
Die exakte Position des Fehlers ist hierbei Zeile 125 (des Plugins oder Template).
Um herauszufinden welches Plugin oder Template nun genau den Fehler verursacht, öffnet man somefile.php mit einem Editor und sieht nach was sich in Zeile 251 für Code befindet.
In der Regel wird dort ein Aufruf von fetch_hook() oder fetch_template() stehen.
Das Argument dieser Funktionsaufrufe bezeichnet den Namen des Templates bzw. Einstiegspunktes.
Im Fall eines Plugin kann es natürlich möglich sein dass für den betreffenden Einsteigspunkt mehrere Plugins existieren.
In diesem Fall muss man ei Plugin nach dem anderen deaktivieren um herauszufinden welches den Fehler verursacht, da alle Plugins für einen Einstiegspunkt in einem Code-Block ausgeführt werden, d.h. es nur Gesamt-Zeilennummer gibt die man den einzelnen Plugins nicht so ohne weiteres ansehen kann.
Bei einem Template kann man direkt nachsehen was sich in der jeweiligen Zeile befindet; meistens werden Fehler in Templates durch die Inkorrekte Verwendung von Template-Conditionals hervorgerufen.
Daher wird es immer wieder vorkommen dass hier und dort Fehler auftreten.
Doch häufig handelt es sich nur um Kleinigkeiten, und mit ein wenig Hintergrundwissen kann man diese schnell selbst finden.
Auch wenn es einem dann vielleicht nicht gelingt das Problem zu beheben bzw. die Lösung nicht offensichtlich ist, so kann man dem Autor doch exakt sagen wo das Problem zu suchen ist.
Grob gesagt gibt es (abgesehen von fehlerhaften Verhalten, d.h. der Hack tut nicht ganz was er soll) 2 Arten von Fehlern: MySQL Fehler (verursacht durch fehlende Tabellen, etc.) und PHP Fehler.
PHP Fehler werden oft durch Tippfehler oder falsche Variablenverwendung ausgelöst.
Das wichtigste ist zunächst einmal zu verstehen was PHP einem mit einer Meldung wie
CODE:
----------
Der Inhalt dieses Abschnitts ist nur für Lizenznehmer sichtbar, Sie werden derzeit jedoch nicht als Lizenzinhaber erkannt.<br />
<br />
Bitte öffnen Sie den <a href="http://members.vbulletin-germany.com/membersupport_priority.php">Kundenbereich</a>, tragen Sie Ihre E-Mail-Adresse ein, mit der Sie sich hier registriert haben und aktivieren Sie die Lizenzüberprüfung für http://www.vbulletin-germany.org.
----------eigentlich sagen möchte?
Diese Meldung besagt dass bei der Ausführung eines Codes (dies kann ein Plugin oder ein Template sein) in somefile.php Zeile 251 ein Fehler some error text aufgetreten ist.
Die exakte Position des Fehlers ist hierbei Zeile 125 (des Plugins oder Template).
Um herauszufinden welches Plugin oder Template nun genau den Fehler verursacht, öffnet man somefile.php mit einem Editor und sieht nach was sich in Zeile 251 für Code befindet.
In der Regel wird dort ein Aufruf von fetch_hook() oder fetch_template() stehen.
Das Argument dieser Funktionsaufrufe bezeichnet den Namen des Templates bzw. Einstiegspunktes.
Im Fall eines Plugin kann es natürlich möglich sein dass für den betreffenden Einsteigspunkt mehrere Plugins existieren.
In diesem Fall muss man ei Plugin nach dem anderen deaktivieren um herauszufinden welches den Fehler verursacht, da alle Plugins für einen Einstiegspunkt in einem Code-Block ausgeführt werden, d.h. es nur Gesamt-Zeilennummer gibt die man den einzelnen Plugins nicht so ohne weiteres ansehen kann.
Bei einem Template kann man direkt nachsehen was sich in der jeweiligen Zeile befindet; meistens werden Fehler in Templates durch die Inkorrekte Verwendung von Template-Conditionals hervorgerufen.