Symfony Messenger 无法使用消息

Symfony messenger can't consume messages

几周前,我用 Symfony Messenger 设置了一个消息系统,效果很好。

今天我想通过消息创建新对象,所以我去我的服务器输入命令来消费消息

首先我得到了这个结果

$ bin/console messenger:consume-messages amqp_notifications
/usr/bin/env: ‘php\r’: No such file or directory

我的文件以前从未发生过这种情况,我也从未更改文件的行尾或编码 sin PHPstorm。

我尝试使用 $ php bin/console messenger:consume-messages amqp_notifications 但后来我遇到了这个错误。

  Attempted to load class "AMQPConnection" from the global namespace.
  Did you forget a "use" statement?

很奇怪,因为我已经安装了 php-amqp ext,你可以在我的 phpinfo 的屏幕截图中看到

我没有更改消息 class 或处理程序中的任何内容。

此外,我尝试调用 new AMQPConnection() 进行随机操作,只是为了尝试,但我没有收到错误。

这次我完全迷失了这个错误,因为一切都已安装。

我使用 PHP 7.3.1 和 symfony Messenger 4.2.2

您的第二个问题似乎已经被 ccKep on his 解决了。

第一个是特定的 shebang 行 #!/usr/bin/env php 执行在 $PATH 中找到的第一个 php。因此,如果您已经卸载了它(看起来是这种情况),或者它具有另一个 php 版本的符号 link,您可能会得到错误的结果。

尝试检查 $PATH 中的内容并将 PHP 路径替换为正确的路径。你可能会得到这个地方 运行 which php.