在CLI中使用Xdebug 3时,如果没有设置断点,它会不断报告消息:
"Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port) :-("
是否有办法禁用CLI中显示的消息表单?
7fyelxc51#
不幸的是,禁用此错误的唯一方法是禁用xdebug.ini中的所有错误和警告:
xdebug.log_level = 0
希望在未来的xdebug版本中有其他的方法(恕我直言,这应该只是一个微弱的警告)。EDIT:正如LazyOne所提到的,也可以在php.ini中为error_log设置一个值,例如/var/log/php_error.log,这样,日志条目就被写入这个文件,而不是发送到stderr。
php.ini
error_log
/var/log/php_error.log
lvmkulzt2#
在我的例子中,问题是Xdebug试图在每个请求上运行,因为我没有在每个页面上进行调试,所以报告了Xdebug: [Step Debug] Could not connect to debugging client这样的刷新错误,这是可以理解的。xdebug.log_level = 0最明显的解决方案当然有效,但这对我来说太宽泛、太盲目了,所以我查看了文档,在我看来,消除这个错误的最好方法是告诉Xdebug什么时候应该运行,什么时候不应该运行,所以在我的情况下,正确的选择是:xdebug.start_with_request = trigger正如文档所述:只有在请求启动时存在特定触发器时,才会激活该功能。触发器的名称是XDEBUG_TRIGGER,Xdebug检查它是否存在于$_ENV(环境变量)、$_GET或$_POST变量或$_COOKIE(HTTP cookie名称)中。我建议至少检查他们文档的这一部分,因为有更多的信息,如果需要,您甚至可以做更多的微调。
Xdebug: [Step Debug] Could not connect to debugging client
xdebug.start_with_request = trigger
lvmkulzt3#
从3.1版本开始,如果设置了日志文件的路径,xdebug就不会将其日志重定向到php日志,在我的例子中,我使用了以下设置,这些消息在控制台中不再令人眼花缭乱
xdebug.log=/var/www/var/log/xdebug.log xdebug.log_level=3
该问题的PR:https://github.com/xdebug/xdebug/pull/738
qf9go6mv4#
如果你只需要抑制一个调用的输出,你可以使用这个-例如show version:XDEBUG_CONFIG="log_level=0" composer -v
XDEBUG_CONFIG="log_level=0" composer -v
wwwo4jvm5#
这就是你所需要的:
xdebug.mode=debug xdebug.start_with_request=yes xdebug.discover_client_host=1
5条答案
按热度按时间7fyelxc51#
不幸的是,禁用此错误的唯一方法是禁用xdebug.ini中的所有错误和警告:
希望在未来的xdebug版本中有其他的方法(恕我直言,这应该只是一个微弱的警告)。
EDIT:正如LazyOne所提到的,也可以在
php.ini
中为error_log
设置一个值,例如/var/log/php_error.log
,这样,日志条目就被写入这个文件,而不是发送到stderr。lvmkulzt2#
在我的例子中,问题是Xdebug试图在每个请求上运行,因为我没有在每个页面上进行调试,所以报告了
Xdebug: [Step Debug] Could not connect to debugging client
这样的刷新错误,这是可以理解的。xdebug.log_level = 0
最明显的解决方案当然有效,但这对我来说太宽泛、太盲目了,所以我查看了文档,在我看来,消除这个错误的最好方法是告诉Xdebug什么时候应该运行,什么时候不应该运行,所以在我的情况下,正确的选择是:xdebug.start_with_request = trigger
正如文档所述:
只有在请求启动时存在特定触发器时,才会激活该功能。
触发器的名称是XDEBUG_TRIGGER,Xdebug检查它是否存在于$_ENV(环境变量)、$_GET或$_POST变量或$_COOKIE(HTTP cookie名称)中。
我建议至少检查他们文档的这一部分,因为有更多的信息,如果需要,您甚至可以做更多的微调。
lvmkulzt3#
从3.1版本开始,如果设置了日志文件的路径,xdebug就不会将其日志重定向到php日志,在我的例子中,我使用了以下设置,这些消息在控制台中不再令人眼花缭乱
该问题的PR:https://github.com/xdebug/xdebug/pull/738
qf9go6mv4#
如果你只需要抑制一个调用的输出,你可以使用这个-例如show version:
XDEBUG_CONFIG="log_level=0" composer -v
wwwo4jvm5#
这就是你所需要的: