【问题标题】:php-amqplib libarary working on command prompt but not on browserphp-amqplib 库在命令提示符下工作,但不在浏览器上
【发布时间】:2016-11-06 23:38:49
【问题描述】:

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

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

注意: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 堆栈 追踪:

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 行

【问题讨论】:

    标签: rabbitmq php-amqplib


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-19
        • 1970-01-01
        • 1970-01-01
        • 2019-03-17
        相关资源
        最近更新 更多