php-amqplib libarary在命令提示符下工作,但在浏览器上没有

时间:2016-07-05 08:08:02

标签: rabbitmq php-amqplib

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

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

  

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

     

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

     

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

     

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

     

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 \电线\ AMQPReader->读取(7)

     

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

     

PhpAmqpLib \连接\ 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 \频道\ AbstractChannel-> next_frame(0)

     

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

     

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

2 个答案:

答案 0 :(得分:5)

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

  •   

    php composer.phar install

我收到了这些错误:

  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消费者调用的一些代码使用。

答案 1 :(得分:0)

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