【问题标题】:How to stop Xdebug to stop debugging itself?如何停止 Xdebug 以停止调试本身?
【发布时间】:2020-02-13 05:56:44
【问题描述】:

我将 Xdebug 与 Webgrind 一起使用。 如果我在 php.ini 中使用以下设置,一切都可以正常工作:

zend_extension = /usr/lib/php/20151012/xdebug.so
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = /var/www/html/xdebug

如果我通过访问 www.example.com/webgrind 打开 webgrind,会显示 cache.out 文件,我可以很好地分析所有内容。

如果我使用这些设置,其中将为每个 url 启用 xdebug,则会生成 cache.out 文件,但是当我在 webgrind 中单击更新时,它只会继续加载。据我所知,xdebug 也会在此 url 上开始调试过程,因为 xdebug 已在整个站点上启用。

zend_extension = /usr/lib/php/20151012/xdebug.so
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = /var/www/html/xdebug

如何在 /webgrind 目录中工作时禁用 xdebug 进程,但在其他任何地方保持启用?

我发现这篇文章的第二个答案清楚地提到了同样的事情。 webgrind on wamp

在您提取代码的 Webgrind 目录中,添加一个 .htaccess 文件并将此内容放入其中以避免 webgrind 剖析自身:

php_flag xdebug.profiler_enable 0

我有一个 nginx+php-fpm 设置,我已经将许多 .htaccess 规则转换为 nginx 重写规则,但不能这样做。

我怎样才能通过我的设置实现同样的效果,或者有没有其他方法可以让它发挥作用?谢谢!

【问题讨论】:

    标签: php xdebug xdebug-profiler webgrind


    【解决方案1】:

    您可以将.user.ini 文件用作equivalence.htaccess 文件。 .user.ini 文件应该只包含以下内容:

    xdebug.profiler_enable=0
    

    【讨论】:

    • 我应该把它放在哪里?文件的路径应该是什么?根据我的阅读,我应该把它放在 /var/www/html/webgrind 目录中,对吧?
    • 是的,在那个目录中。
    • 非常感谢德里克。现在工作正常。今天学到了一些新东西,我可以将 .user.ini 文件用于每个目录的 php 设置。
    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多