PHP - 打印出一个PHP命令行脚本执行的所有语句?(PHP - Print all state

2019-07-31 19:49发布

在Python,一个可以跟踪所有被使用命令行脚本执行的语句跟踪模块。 在bash你可以用同样的set -x 。 我们有我们在命令行运行PHP脚本,像一个正常的庆典/蟒蛇/ perl的/等脚本。 没有网络-Y是怎么回事。

反正是有得到正在执行的所有代码行的痕迹?

Answer 1:

有一个PECL扩展, APD ,这将产生一个跟踪文件。



Answer 2:

不要在纯PHP,没有 - 因为据我所知。

但是你可以使用一个调试器; 一个很好的方式做到这一点是

  • 延伸的Xdebug ,其可以被用作调试器
  • 有的图形IDE集成了一些调试工具,如Eclipse的PDT

这两个都是免费的,顺便说一句。

有了这些,你可以一步一步做,设置断点,观察变量,查看堆栈跟踪的内容,...和它的作品无论是Web和CLI脚本;-)

当然,这意味着有Eclipse中正在执行脚本的机器上运行......但如果你是在开发机器上执行它,你可能有一个GUI和所有的,所以它应该被罚款?
(我知道,对于Web应用程序,你可以有一个不同的机器比一个用PHP的Web服务器上运行Eclipse -不知道这是否是在CLI是可能的,虽然)


一点题外话:也许你可以Xdebug的一个基于CLI的调试器集成; 见我挂到页面早些时候的支持工具列表。



Answer 3:

我有点盲目这里,但我想你可以做的一种方式是写内部自定义函数的所有相关代码并调用debug_backtrace() 。 debug_print_backtrace也可能是有用的。

我希望它能帮助。



文章来源: PHP - Print all statements that are executed in a PHP command line script?