php - rabbitmq 在 linux 中发送数据 php

标签 php centos rabbitmq

我尝试将数据发送到 rabbitmq-server,但它一直返回错误:

“遇到PHP错误

严重性:注意

消息:试图获取非对象的属性

文件名:Channel/AMQPChannel.php

行号:1098"

这是我的代码:

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

 function send_log($id, $id_user, $object_id){
    $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
    $channel = $connection->channel();
    $channel->queue_declare('hello', false, false, false, false);
    $msg = '';
    if ($id == 24 || $id == 7){
        $msg = new AMQPMessage(json_encode(array('id' => 2, 'id_user' => $id_user, 'id_post' => $object_id)));
    }elseif($id == 6){
        $msg = new AMQPMessage(json_encode(array('id' => 3, 'id_user' => $id_user, 'id_post' => $object_id)));
    }
    $channel->basic_publish($msg, '', 'hello');
    //echo " [x] Sent 'Hello World!'\n";
    $channel->close();
    $connection->close();
}

我不知道为什么它一直返回那个错误。因为之前我在 Windows 操作系统中尝试相同的代码并且它很好。现在我正在使用 centos 然后像那样转... 如果您知道问题所在,请帮助我。谢谢

最佳答案

那个 php 脚本不适用于我的服务器。我最好的猜测是关于我服务器中的 php 版本。所以,我用 python 制作了另一个脚本来将数据发送到兔子服务器。并且有效。

关于php - rabbitmq 在 linux 中发送数据 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35668242/

相关文章:

php - 在 PHP 中处理巨大的文本文件?

php - Laravel 5.5 Cron Job proc_open 和 ArgvInput 问题

php - 如何安全部署linux(CentOS)预打包的php mysql应用程序?

php - 最小化基于 CentOS 的 Docker 镜像

amazon-ec2 - 有人用 CentOS 在 EC2 上运行 Xvfb 吗?

sbt - Apache Flink RabbitMq SBT 依赖失败

PHP For 循环不启动

与另一台服务器相比,一台服务器上的 MySQL 速度慢 10 倍

java - 如何在不使消息出队的情况下浏览rabbitmq中的队列

android - 如何使用 RabbitMQ 在两个 Android 应用程序之间发送消息