Command with xdebug enabled causes invalid json
Phpcs doesn't really need xdebug but will produce error because the command warns for not being able to connect to debugging client. This means vscode-phpcs cannot lint at all despite phpcs is working fine:
$ /usr/local/bin/phpcs --report=json -q -s --encoding=UTF-8 --standard=/Users/rolle/Projects/airdev/content/themes/air-light/phpcs.xml --error-severity=5 --warning-severity=5 --stdin-path=/Users/rolle/Projects/airdev/content/themes/air-light/inc/includes/nav-walker.php
Xdebug: [Step Debug] Could not connect to debugging client. Tried: 127.0.0.1:9003 (through xdebug.client_host/xdebug.client_port) :-(
{"totals":{"errors":10,"warnings":13,"fixable":10},"files":{"\/Users\/rolle\/Projects\/airdev\/content\/themes\/air-light\/functions.php":{"errors":0
<truncated>
Any way to disable xdebug (also asked in PHP_Codesniffer issue) OR add environment variable XDEBUG_MODE=off before the executable? We have "solved" this for now with our custom executable script as described here.
@ronilaukkarinen thanks for the workaround 👍
@tribal2 No problem, glad you found it useful!
Another workaround, as at xdebug 3.1, is to ensure it can write to its own log file as defined by xdebug.log = <file> in php.ini. If you do this, that particular warning will not longer be pushed to stdout.
Another workaround, as at xdebug 3.1, is to ensure it can write to its own log file as defined by
xdebug.log = <file>in php.ini. If you do this, that particular warning will not longer be pushed to stdout.
Thanks for that, Quick and easy fix, works very well for me.