Несколько недель назад я установил систему сообщений с Symfony Messenger, и она отлично работала.
Сегодня я хотел создать новый объект с помощью сообщения, поэтому я пошел на свой сервер и набрал команду, чтобы использовать сообщение
Сначала у меня был такой результат
$ bin/console messenger:consume-messages amqp_notifications
/usr/bin/env: ‘php\r’: No such file or directory
Это никогда не случалось с моими файлами, и я никогда не менял окончание строки или кодировку моего файла в 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
Я ничего не изменил в своем классе сообщений или обработчике.
Также я пытался позвонить new AMQPConnection()
на случайное действие, просто чтобы попробовать, и я не получил ошибку.
На этот раз я полностью потерян с этой ошибкой, так как все установлено.
Я использую PHP 7.3.1 и Symfony Messenger 4.2.2
Кажется, ваш второй вопрос уже решен ccKep на его комментарий.
Первое, что конкретная линия Шебанга #!/usr/bin/env php
выполняет первый php, найденный в $ PATH. Так что, если вы уже удалили его, что выглядит так, или он имеет символическую ссылку на другую версию php, вы можете получить неверный результат.
Пытается проверить, что находится внутри $ PATH, и заменить путь PHP на правильный. Вы можете получить место работает which php
,
Других решений пока нет …