Xdebug 跟踪功能如何排除供应商目录
Xdebug trace function how to exclude vendor dir
我正在使用 Xdebug 分析我的 Laravel 代码。我使用跟踪和覆盖功能。
为了覆盖,我可以配置白名单和排除来配置我要分析的目录和文件。
但是对于trace,我不知道如何配置exclude目录。像vendor
,我认为他们没有变化,所以我想排除他们。我只想专注于我的代码。
你知道我如何配置跟踪排除或黑名单吗?
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit backupGlobals="true" colors="true" convertErrorsToExceptions="true"
convertNoticesToExceptions="true" convertWarningsToExceptions="true" stopOnFailure="false">
<filter>
<whitelist processUncoveredFilesFromWhitelist="false" addUncoveredFilesFromWhitelist="false">
<directory suffix=".php">./../</directory>
<exclude>
<directory suffix=".php">./../vendor</directory>
</exclude>
</whitelist>
<blacklist>
</blacklist>
</filter>
</phpunit>
要从痕迹中删除东西,您可以使用 Xdebug 的 xdebug_set_filter() 函数。
手册中有一个例子,内容如下:
To exclude all files in the vendor sub-directory in traces:
Example:
<?php
xdebug_set_filter(
XDEBUG_FILTER_TRACING, XDEBUG_PATH_BLACKLIST,
[ __DIR__ . "/vendor/" ]
);
?>
您需要 Xdebug 2.6 或更高版本才能运行。您可以将它放在 index.php
脚本中,或者放在 auto_prepend 脚本中。唯一需要注意的是,在执行 /vendor/
文件夹中的 include/calls 之前,此行需要 运行。
FWIW,在 Xdebug 3 中,XDEBUG_PATH_BLACKLIST
将是 renamed 到 XDEBUG_PATH_EXCLUDE
。
我正在使用 Xdebug 分析我的 Laravel 代码。我使用跟踪和覆盖功能。
为了覆盖,我可以配置白名单和排除来配置我要分析的目录和文件。
但是对于trace,我不知道如何配置exclude目录。像vendor
,我认为他们没有变化,所以我想排除他们。我只想专注于我的代码。
你知道我如何配置跟踪排除或黑名单吗?
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit backupGlobals="true" colors="true" convertErrorsToExceptions="true"
convertNoticesToExceptions="true" convertWarningsToExceptions="true" stopOnFailure="false">
<filter>
<whitelist processUncoveredFilesFromWhitelist="false" addUncoveredFilesFromWhitelist="false">
<directory suffix=".php">./../</directory>
<exclude>
<directory suffix=".php">./../vendor</directory>
</exclude>
</whitelist>
<blacklist>
</blacklist>
</filter>
</phpunit>
要从痕迹中删除东西,您可以使用 Xdebug 的 xdebug_set_filter() 函数。 手册中有一个例子,内容如下:
To exclude all files in the vendor sub-directory in traces:
Example:
<?php xdebug_set_filter( XDEBUG_FILTER_TRACING, XDEBUG_PATH_BLACKLIST, [ __DIR__ . "/vendor/" ] ); ?>
您需要 Xdebug 2.6 或更高版本才能运行。您可以将它放在 index.php
脚本中,或者放在 auto_prepend 脚本中。唯一需要注意的是,在执行 /vendor/
文件夹中的 include/calls 之前,此行需要 运行。
FWIW,在 Xdebug 3 中,XDEBUG_PATH_BLACKLIST
将是 renamed 到 XDEBUG_PATH_EXCLUDE
。