首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法创建新的AMQPSSLConnection“断开管道或关闭的连接”

无法创建新的AMQPSSLConnection“断开管道或关闭的连接”
EN

Stack Overflow用户
提问于 2018-11-09 23:43:33
回答 1查看 1.5K关注 0票数 1

我正在尝试使用以下命令连接到Rabbit服务器

代码语言:javascript
复制
   require_once __DIR__ . '/vendor/autoload.php';
   use PhpAmqpLib\Connection\AMQPSSLConnection;
   $connection = new AMQPSSLConnection ('example.com', 5671, 'uname', '***', '/some/vhost');

而我得到的只是一个异常:“管道断开或连接关闭”。服务器人员已经确认我的连接参数是正确的。我不知道该怎么办。

我使用的是PHP7和php-amqplib v2.7.2。

帮帮忙?

代码语言:javascript
复制
#0 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Wire\AMQPReader.php(149): PhpAmqpLib\Wire\IO\StreamIO->read(7)
#1 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Wire\AMQPReader.php(106): PhpAmqpLib\Wire\AMQPReader->rawread(7)
#2 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Connection\AbstractConnection.php(522): PhpAmqpLib\Wire\AMQPReader->read(7)
#3 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Connection\AbstractConnection.php(570): PhpAmqpLib\Connection\AbstractConnection->wait_frame(3)
#4 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Channel\AbstractChannel.php(225): PhpAmqpLib\Connection\AbstractConnection->wait_channel(0, 3)
#5 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Channel\AbstractChannel.php(335): PhpAmqpLib\Channel\AbstractChannel->next_frame(3)
#6 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Connection\AbstractConnection.php(214): PhpAmqpLib\Channel\AbstractChannel->wait(Array, false, 3)
#7 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Connection\AbstractConnection.php(189): PhpAmqpLib\Connection\AbstractConnection->connect()
#8 vendor\php-amqplib\php-amqplib\PhpAmqpLib\Connection\AMQPStreamConnection.php(60): PhpAmqpLib\Connection\AbstractConnection->__construct('t
EN

回答 1

Stack Overflow用户

发布于 2021-03-23 23:28:48

我也有同样的问题。我在修复它之前花了很多时间,因为我没有RabbitMQ和日志的管理员访问权限。我只需将AMQPLAIN登录方法更改为PLAIN,就解决了这个问题。我使用了AMQPStreamConnection而不是AMQPSSLConnection,但是语法非常相似。

AMQPStreamConnection:

代码语言:javascript
复制
$connection = new AMQPStreamConnection(
   config('amqp.host'),
   config('amqp.port'),
   config('amqp.username'),
   config('amqp.password'),
   config('amqp.vhost'),
   false,
  'PLAIN'
);

AMQPSSLConnection:

代码语言:javascript
复制
$connection = new AMQPSSLConnection(
   config('amqp.host'),
   config('amqp.port'),
   config('amqp.username'),
   config('amqp.password'),
   config('amqp.vhost'),
   [], // Your SSL options
   ['login_method' => 'PLAIN'] // Your options
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53228911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档