我尝试将数据发送到 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/