Есть ли способ получить внутренние данные из php? - PullRequest
2 голосов
/ 10 ноября 2010

Я знаю, что доступны инструменты отладки PHP, но мне любопытно сделать что-то подобное сам.

Есть ли способ получить данные, которые обрабатываются PHP для целей отладки? Например, без необходимости изменять код моего PHP-приложения, есть ли какой-то способ, когда я запускаю функцию, я могу видеть, какие переменные существуют в этой функции, что вызвало эту функцию, какое возвращаемое значение и т. Д.?

Решение не обязательно должно быть в PHP, то есть это может быть что-то написанное на C и т. Д.

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Хорошо, могу ли я предложить вам добавить firePHP к вашему коду.FirePHP имеет 2 компонента, компонент на стороне сервера и компонент браузера для Firefox, он использует дополнение Firebug.После правильной установки вы можете делать такие вещи, как FB :: Log ($ variable), и вы увидите эту информацию в журнальной части firebug, когда вы щелкаете по ней, она показывает всю разбитую переменную.Кроме того, если вам нужно было установить обработчик ошибок, когда вы получите перехваченное исключение, вы сможете увидеть всю трассировку стека того, как это исключение было вызвано.

Настоятельно рекомендуется.

1 голос
/ 10 ноября 2010

попробуйте модуль PHP xdebug - http://xdebug.org/
вы можете записать информацию об отладке,или вывод в виде HTML

изменения могут потребоваться для запуска xdebug

0 голосов
/ 10 ноября 2010

Вы можете использовать некоторые интроспективные функции, такие как debug_backtrace, но они только дойдут до вас.Чтобы собрать любую информацию, вам нужно подключиться к самому PHP, что вы, скорее всего, сделаете с расширением, написанным на C. Я бы посоветовал вам проверить один из существующих отладчиков, чтобы увидеть, какони делают это, например xdebug .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...