25

我想查看 PHP 脚本的整个代码执行的日志。像这样的东西:http ://en.wikibooks.org/wiki/Ruby_Programming/Standard_Library/Tracer (因为没有更好的例子;请不要火焰)。

有什么方法可以获取PHP中的日志吗?

注意:我知道我可以使用调试器,但不一样。

4

6 回答 6

10

phptrace是一个很棒的跟踪 php 代码执行的工具

于 2015-01-05T11:15:35.017 回答
10

Xdebug 绝对是你想要的,但也有来自 valgrind 套件的 callgrind 之类的东西。

Zend 博客文章应该给你一些指点:http ://devzone.zend.com/1139/profiling-php-applications-with-xdebug/

于 2013-01-15T16:13:27.597 回答
8

在任何功能中,您都可以通过使用查看整个回溯debug_backtrace(...)

或者你可以使用Xdebug profiler来分析你的 PHP 脚本。

于 2013-01-15T16:06:00.797 回答
5

看看金特

调试回溯截图

它是类固醇上的 var_dump() 和 debug_backtrace()。易于使用,但功能强大且可定制。您的开发工具箱的重要补充。

它在这里也有特定于平台的扩展

于 2013-02-12T21:05:08.687 回答
1

您可以使用由 Facebook 开发的名为 XHProf 的 PHP 扩展。

它能够报告函数级调用计数以及包含和排除的挂墙时间、CPU 时间和内存使用情况。

https://github.com/facebook/xhprof

于 2013-01-15T16:32:30.083 回答
0

这是我在 windows linux 子系统(WSL)中运行 php 或 Laravel 框架时需要跟踪的所有行。

xdebug在系统中安装,然后/etc/php/7.4/mods-available/xdebug.ini使用以下详细信息进行编辑

zend_extension=xdebug.so
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_port = 9001
xdebug.scream=0
xdebug.cli_color=1
xdebug.show_local_vars=1
xdebug.remote_autostart=1

; this part here, above is used for line by line debug in vscode
xdebug.auto_trace=1
xdebug.trace_output_dir = /mnt/c/projects/www/phptraces
xdebug.trace_output_name=trace.%u
xdebug.collect_params=4
xdebug.trace_format = 1

这个在这里

xdebug.trace_output_dir = /mnt/c/projects/www/phptraces

是存储日志的路径

对于 laravel 框架,它会生成非常大的文件,很可能是 4GB 大小。所以我用

split -l 1000 trace.1576842503_368392.xt pieces/traces

将其拆分为每个包含 1000 行的较小部分并将其存储到 pieces 目录中。

然后您可以使用编辑器在文件中查找您要查找的内容

于 2019-12-20T12:03:51.303 回答