Xdebug: [步骤调试] 无法连接到调试客户端
我想尝试Xdebug 3.0.0RC1来探索发生了什么变化以及随之而来的新功能。我还使用最新的PhpStorm 2020.3 EAP,它支持Xdebug 3,不需要主要配置。以下是我为调试器配置的PhpStorm:
以下是我尝试过的Xdebug3配置:
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=host.docker.internal # here I tried several combinations like: "localhost", "127.0.0.1", "172.17.0.1"
xdebug.client_port=9001 # here I tried several ports 9003 included with no success
我也尝试过根本不添加设置,但仍然失败了。client_host/client_port
我收到此错误:
Script php bin/console doctrine:cache:clear-metadata returned with error code 255
!! [17-Nov-2020 15:24:40 UTC] Xdebug: [Step Debug] Could not connect to debugging client. Tried: host.docker.internal:9001 (through xdebug.client_host/xdebug.client_port) :-(
!! [17-Nov-2020 15:24:41 UTC] PHP Fatal error: Method class@anonymous::__toString() must not throw an exception, caught Symfony\Component\DependencyInjection\Exception\AutowiringFailedException: in /var/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php on line 233
有关我的环境的一些信息:
- Fedora 33
- Docker 版本 19.03.13,内部版本 4484c46d9d
- Php风暴 2020.3 EAP 内部版本 #PS-203.5784.36
它很奇怪(因为显然我正在使用的Docker版本“不支持”,但它可以工作),同时奇怪的是,以下配置确实适用于Xdebug 2,即使调试器一直在监听传入连接:host.docker.internal
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.remote_autostart=0
xdebug.remote_enable=1
xdebug.remote_host=host.docker.internal
xdebug.remote_port=9000
我在这里错过了什么?
注意:我已经在这里应用了Xdebug开发人员提供的解决方案。