Hello,
ja, schon, aber die Funktion wird aus sehr vielen verschiedenen Scripten und teilweise aus includes heraus an teilweise einigen hundert Stellen aufgerufen.
Mit der Methode bekomme ich ja nur die Datei heraus, die per URL aufgerufen wurde - aber nicht die Datei, die den Funktionsaufruf gemacht hat.
Das ist doch das Script, dass den Funktionsaufruf getätigt hat.
Du möchtest jetzt aber den Namen des include-Files, das dafür verantwortlich ist.
Dazu müsstest Du in jedem Include-File eine globale Variable mit __FILE__ befüllen und die dann in der aufgerufenen Funktion abfragen.
Also
global $aktives_include;
$aktives_include = __FILE__;
--- Beginn des 1. Includes ---
$aktives_include = __FILE__;
fehlerhafte_funktion();
--- Ende des Includes
...
...
--- Beginn des 2. Includes ---
$aktives_include = __FILE__;
fehlerhafte_funktion();
--- Ende des Includes
Und fehlerhafte_funktion() enthält dann Das Schreiben des Log-Eintrages
Global $aktives_include;
error_log(...,$aktives_include;
Das ist aber bislang nur eine Idee.
Denn WANN genau die Variablenzuweisung durchgeführt wird, und wann die Namensräume zugewisen werden, weiß ich nicht. Die Magische Kosntante __FILE__ wird jedenfalls beim Laden des Includes mit dessen Namen gefüllt.
Wie man da nun per Callback herankommt, habe ich nicht ausprobiert.
http://de3.php.net/manual/de/ref.errorfunc.php
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau