1

当我使用命令提示符运行时,我有相同的代码。但是当我尝试使用浏览器运行它时,它会抛出以下错误。

我用过 php-amqplib。我的代码很简单,可以连接到 RabbitMQ 队列并将消息发送到队列中。凭据是正确的,因为我能够在命令提示符下运行相同的文件。

注意:iconv_strlen():在第 338 行的 /var/www/html/php-amqplib/vendor/symfony/polyfill-mbstring/Mbstring.php 中检测到输入字符串中的非法字符

注意:iconv_strlen():在第 338 行的 /var/www/html/php-amqplib/vendor/symfony/polyfill-mbstring/Mbstring.php 中检测到输入字符串中的非法字符

注意:iconv_strlen():在第 338 行的 /var/www/html/php-amqplib/vendor/symfony/polyfill-mbstring/Mbstring.php 中检测到输入字符串中的非法字符

致命错误:未捕获的 PhpAmqpLib\Exception\AMQPRuntimeException:读取数据时出错。在 /var/www/html/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:242 中收到而不是预期的 7 个字节堆栈跟踪:

0 /var/www/html/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php(149): PhpAmqpLib\Wire\IO\StreamIO->read(7)

1 /var/www/html/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php(106): PhpAmqpLib\Wire\AMQPReader->rawread(7)

2 /var/www/html/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(508):

PhpAmqpLib\Wire\AMQPReader->读取(7)

3 /var/www/html/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(555):

PhpAmqpLib\Connection\AbstractConnection->wait_frame(0)

4 /var/www/html/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(217):

PhpAmqpLib\Connection\AbstractConnection->wait_channel(0, 0)

5 /var/www/html/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php(328):

PhpAmqpLib\Channel\AbstractChannel->next_frame(0)

6 /var/www/html/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(205):

PhpAmqpLib\Channel\AbstractChannel->w in /var/www/html/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php 242 行

4

2 回答 2

6

我在运行命令时发现了问题(和解决方案):

  • php composer.phar 安装

我收到了这些错误:

  Problem 1
- php-amqplib/php-amqplib v2.6.3 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.

  Problem 2
- php-amqplib/php-amqplib v2.6.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- Installation request for php-amqplib/php-amqplib v2.6.3 -> satisfiable by php-amqplib/php-amqplib[v2.6.3].

我的问题 - 我的系统中缺少 PHP 扩展(bcmath、mbstring) - 只需安装它们即可解决:

  • sudo apt-get install php-bcmath php-mbstring

这些扩展被 Rabbit 消费者调用的一些代码使用。

于 2016-10-17T13:16:19.080 回答
0

我通过将心跳值从 0 秒更改为 60 秒来解决这个问题。

于 2016-07-05T11:05:54.747 回答