2009-12-27 2 views

ответ

11

В зависимости от условий вызова, вы должны взглянуть на debug_backtrace и $_SERVER['PHP_SELF']

debug_backtrace() даст вам трассировки стека из включает в себя и вызовы функций до сих пор, и $_SERVER['PHP_SELF'] расскажет вам в данный момент скрипта, который проще и может работать так же хорошо, как вы хотите. $_SERVER['PHP_SELF'] почти всегда будет сценарием, который был вызван из браузера, например, если у вас были blah.com/admin.php и blah.com/articles.php, которые вызывались /pages.php, чтобы получить список страниц, сохраненных в блоге или что-то в этом роде, и что-то пошло не так - журнал скажет вам, вызывал ли сценарий admin.php или articles.php. Но если pages.php включил functions.php, который включал в себя и libs.php, и вы хотели знать, что functions.php включили его, это не сработало - журнал все равно покажет скрипт, который запустил включение (admin.php или articles.php). В этом случае вы должны использовать debug_backtrace().

+0

Спасибо за 'debug_backtrace()'. Это превосходно! – neoDev

3

Вы можете посмотреть на функции debug_backtrace: в это выход, вы должны найти то, что вы ищете ;-)

Вы можете взглянуть на this answer я отправил несколько дней назад, для более информации и примера.

+0

Посмотрите все «данные» в этой ссылке! Я копаю информацию! lol – pythonian29033

0

Используйте debug_backtrace(), чтобы получить ассоциативный массив, содержащий полный стек вызовов и рассмотрит массив, чтобы вытащить детали вы заинтересованы в нем.

0

В дополнение к ответам, уже предоставленным очень низкотехнологичным ответом, было бы или добавить _ _ FILE _ _ или basename() в строку, которая регистрируется. (необходимо было добавить пробелы для двойного подчеркивания в ФАЙЛЕ, чтобы они отображались)

Смежные вопросы