【发布时间】:2015-07-03 09:03:46
【问题描述】:
我在尝试从 RabbitMQ 接收答案时收到错误消息。
2015-07-03 09:31:12 [10.1.101.55][-][-][error][PhpAmqpLib\Exception\AMQPTimeoutException] exception 'PhpAmqpLib\Exception\AMQPTimeoutException' with message 'The connection timed out after 30 sec while awaiting incoming data' in /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php:130
Stack trace:
#0 /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php(147): PhpAmqpLib\Wire\AMQPReader->wait()
#1 /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php(105): PhpAmqpLib\Wire\AMQPReader->rawread(7)
#2 /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(528): PhpAmqpLib\Wire\AMQPReader->read(7)
#3 /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(568): PhpAmqpLib\Connection\AbstractConnection->wait_frame(30)
#4 /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(198): PhpAmqpLib\Connection\AbstractConnection->wait_channel(1, 30)
#5 /opt/www/site.ll/vendor/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(332): PhpAmqpLib\Channel\AbstractChannel->next_frame(30)
当我尝试从本地电脑接收答案时,它可以工作,但在生产服务器上 - 不行。
为什么,以及如何解决它。
谢谢!
【问题讨论】:
-
检查MQ通道的端口是否被阻塞或者MQ服务本身是否正在运行?
-
它正在运行。 AMQP 收到我的消息,并开始处理,但我没有收到答案。 AMQP 调用回调函数 42 次,但没有我的请求。然后我收到异常。
-
在本地 PC 上,我会在 4 秒内收到答复。
-
如果您可以在本地连接但不能连接到远程服务器,也许您使用的是
guest用户帐户?见rabbitmq.com/access-control.html -
不,是远程服务器。
标签: php rabbitmq php-amqplib