gpt4 book ai didi

php - 有没有办法使用 PhpStorm 和 Xdebug 调试 RabbitMQ Consumer (php-ampqlib)?

转载 作者:可可西里 更新时间:2023-11-01 12:55:20 25 4
gpt4 key购买 nike

这是我的开发设置:

IDE:PhpStorm 9.0.2
调试器: Xdebug 2.3.3
消息队列服务器: RabbitMQ 3.5.6
连接到 RabbitMQ 服务器的 PHP 库: php-ampqlib

为了启动我的消费者,我使用 CakePHP 任务并像这样运行:

../lib/Cake/Console/cake cron message_trigger_consumer

当我运行此命令时,我的消费者已启动并等待来自 生产者 的消息(例如:发送确认电子邮件的保存表单按钮)。到这里为止,一切正常,但我的两个问题是:

1)有没有办法调试消费者?在我看来,Consumer 处于不同的进程中,这就是 Xdebug 无法调试它的原因
2) 有什么方法可以将我的 Consumer 进程附加到我在 PhpStorm + Xdebug 中的当前调试?

如果你不明白我的问题,请告诉我你的疑惑。

最佳答案

在 Web 上下文中,Xdebugs session 通常由名为 XDEBUG_SESSION 的 Cookie 触发。

在 CLI 上没有 cookie,因此您必须告诉 xdebug 手动启动 session :

export PHP_IDE_CONFIG="serverName=your-server-name-configured-in-php-storm"
export XDEBUG_CONFIG="remote_host=ip_of_php_storm_pc idekey=PHPSTORM"

然后在 PHP Storm 中,只需通过电话听筒图标收听传入连接。

效果很好!

关于php - 有没有办法使用 PhpStorm 和 Xdebug 调试 RabbitMQ Consumer (php-ampqlib)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33416511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com