Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux中的rabbitmq发送数据php_Php_Centos_Rabbitmq - Fatal编程技术网

linux中的rabbitmq发送数据php

linux中的rabbitmq发送数据php,php,centos,rabbitmq,Php,Centos,Rabbitmq,我尝试将数据发送到rabbitmq服务器,但它不断返回错误: “遇到一个PHP错误 严重性:通知 消息:正在尝试获取非对象的属性 文件名:Channel/AMQPChannel.php 行号:1098“ 这是我的密码: require_once __DIR__ . '/vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage; functio

我尝试将数据发送到rabbitmq服务器,但它不断返回错误:

“遇到一个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编写了另一个脚本,将数据发送到rabbit服务器。它是有效的