Я новичок в RabbitMQ и пытаюсь добавиться в очередь RabbitMQ. Это моя часть подключения к классу, которая подключается к RabbitMQ. Ошибка возникает на линии, которая получает канал из соединения, потому что когда я только подключаюсь, он не выходит из строя. Что я делаю не так?
Я новичок в RabbitMQ и пытаюсь добавиться в очередь RabbitMQ. Это моя часть подключения к классу, которая подключается к RabbitMQ. Ошибка возникает на линии, которая получает канал из соединения, потому что когда я только подключаюсь, он не выходит из строя. Что я делаю не так? [code]function connect($host, $port, $user, $password, $vhost = '/') { return AMQPStreamConnection::create_connection([ ['host' => $host, 'port' => $port, 'user' => $user, 'password' => $password, 'vhost' => $vhost] ], [ 'insist' => false, 'login_method' => 'AMQPLAIN', 'login_response' => null, 'locale' => 'en_US', 'connection_timeout' => 3.0, 'read_write_timeout' => 3.0, 'context' => null, 'keepalive' => true, 'heartbeat' => 0 ]); }
public function __construct($host, $port, $user, $password, $queue, $vhost = '/') { try { $this->connection = $this->connect($host, $port, $user, $password, $vhost); $this->channel = $this->connection->channel(); $this->queue = $queue; $this->channel->queue_declare($queue, false, true, false, false); } catch (AMQPConnectionClosedException $e) { log_message('error', 'RabbitMQ connection error: ' . $e->getMessage()); throw $e; } catch (AMQPIOException $e) { log_message('error', 'RabbitMQ IO error: ' . $e->getMessage()); throw $e; } catch (\Exception $e) { log_message('error', 'RabbitMQ general error: ' . $e->getMessage()); throw $e; } } [/code] Журнал RabbitMQ показывает, что пользователь прошел аутентификацию [code]connection ([::1]:52990 -> [::1]:5672): user 'xxxx' authenticated and granted access to vhost 'my_vhost' [/code] В тот момент, когда я выбираю канал, появляется запись в журнале сбоев (исключение: {unexpected_message,{'EXIT',#Port,einval}}) [code]$this->channel = $this->connection->channel(); [/code] Centos 9, php 8.2, php-amqplib 3.6.0, erlang 26.