В python можно проследить все операторы, выполняемые сценарием командной строки, используя модуль трассировки . В bash вы можете сделать то же самое с set -x
. У нас есть скрипт PHP, который мы запускаем из командной строки, например, обычный скрипт bash / python / perl / etc. Ничего веб-и не происходит.
Есть ли способ получить след всех строк кода, которые выполняются?
Существует расширение PECL, apd , которое будет генерировать файл трассировки.
Не в чистом-PHP, нет – насколько я знаю.
Но вы можете использовать отладчик; хороший способ сделать это с
Оба они свободны, кстати.
С их помощью вы можете шаг за шагом настраивать точки останова, просматривать содержимое переменных, просматривать трассировки стека … И он работает как для веб-скриптов, так и для CLI 😉
Конечно, это означает, что Eclipse работает на компьютере, в котором выполняется ваш скрипт … Но если вы выполняете его на своей машине разработки, у вас, вероятно, есть графический интерфейс и все такое, поэтому все должно быть хорошо …
(Я знаю, что для веб-приложений вы можете запустить Eclipse на другой машине, чем на веб-сервере PHP, но не знаете, возможно ли это в CLI)
В качестве побочного элемента: возможно, вы можете интегрировать Xdebug с CLI-отладчиком; см. страницу, с которой я связан ранее, для списка поддерживаемых инструментов.
Я немного слеп, но я предполагаю, что один из способов сделать это – написать весь соответствующий код внутри пользовательских функций и вызвать debug_backtrace () . debug_print_backtrace также может быть полезным.
Я надеюсь, что это помогает.