我正在尝试在Lando环境中设置CLI Xdebug。它可以在web上完美地工作,但我无法从CLI中调试测试和脚本。
这是我的。lando。yml文件:
name: develop
recipe: wordpress
proxy:
appserver_nginx:
- develop.loc
config:
php: '7.3'
via: nginx
database: mariadb
xdebug: true
我使用PHPStorm作为我的IDE。我已经设置了服务器、服务器映射以及用于侦听的端口9000和9003,但是它仍然没有在断点处停止。有人用Lando设置了CLI Xdebug吗?什么好主意吗?谢谢你的帮助。
我设法使它工作。因此,我们的想法是设置两个环境变量:
-
PHP_IDE_CONFIG="serverName=localhost"
,其中localhost
是PhpStorm设置中的服务器名称。 -
XDEBUG_TRIGGER="1"
-这个变量触发xdebug.
但是我们如何动态地提供变量来使XDEBUG_TRIGGER只在你想要的时候工作呢?
对于这样的事情,兰多有工具选项!因此,我们可以创建自定义命令来实现这个奇迹,就像这样:tooling:
phpdebug:
service: appserver
cmd:
- php
env:
XDEBUG_TRIGGER: 1
PHP_IDE_CONFIG: "serverName=localhost"
然后重新启动(或重新构建)您的应用服务器,您将拥有一个全新的自定义命令,用于从CLI中调试PHP,如下所示:
lando phpdebug test.php
因此,它的工作原理与lando php test.php
相同,但是提供了运行Xdebug所需的所有环境变量。
更新:如果有人对如何从Lando环境中调试WP CLI感兴趣:
lando phpdebug /app/vendor/wp-cli/wp-cli/bin/../php/boot-fs.php --version
lando wp --version
相同,但提供了Xdebug环境变量
注:请注意-这是Xdebug 3的说明。