我想查看 PHP 脚本的整个代码执行的日志。像这样的东西:http ://en.wikibooks.org/wiki/Ruby_Programming/Standard_Library/Tracer (因为没有更好的例子;请不要火焰)。
有什么方法可以获取PHP中的日志吗?
注意:我知道我可以使用调试器,但不一样。
phptrace是一个很棒的跟踪 php 代码执行的工具
Xdebug 绝对是你想要的,但也有来自 valgrind 套件的 callgrind 之类的东西。
Zend 博客文章应该给你一些指点:http ://devzone.zend.com/1139/profiling-php-applications-with-xdebug/
在任何功能中,您都可以通过使用查看整个回溯debug_backtrace(...)
或者你可以使用Xdebug profiler来分析你的 PHP 脚本。
您可以使用由 Facebook 开发的名为 XHProf 的 PHP 扩展。
它能够报告函数级调用计数以及包含和排除的挂墙时间、CPU 时间和内存使用情况。
这是我在 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 目录中。
然后您可以使用编辑器在文件中查找您要查找的内容