简单队列就是当redis的队列用,一个存,一个去,可以不用交换机,路由键之类的,
    建立连接通道,声明队列,存就可以
    生产者 send.php

    1. <?php
    2. //引入类库
    3. require_once __DIR__ . '/vendor/autoload.php';
    4. use PhpAmqpLib\Connection\AMQPStreamConnection;
    5. use PhpAmqpLib\Message\AMQPMessage;
    6. //$config = array(
    7. // 'host' => '127.0.0.1',
    8. // 'vhost' => '/',
    9. // 'port' => 5672,
    10. // 'login' => 'guest',
    11. // 'password' => 'guest'
    12. //);
    13. try {
    14. //创建一个连接
    15. $connection = new AMQPStreamConnection('127.0.0.1', '5672', 'guest', 'guest', '/'); // 建立连接到RabbitMQ服务器
    16. //建立通道
    17. $channel = $connection->channel();
    18. //声明需要存储消息的队列,已经存在,可以不用声明
    19. // $channel->queue_declare('list_set_1', false, false, false, false);
    20. //指定要发送的消息内容 hello world
    21. $msg = new AMQPMessage('第四个');
    22. //将消息内容发动到指定的 队列,如果这里找不到对应的队列,那么消息是无法到达消费者那里的,此时我们使用的是默认交换类型
    23. $channel->basic_publish($msg, '', 'list_set_1');
    24. // 关闭通道
    25. $channel->close();
    26. // 关闭连接
    27. $connection->close();
    28. echo '发送成功';
    29. } catch (Exception $e) {
    30. die($e->getMessage());
    31. }

    消费者 receive.php

    <?php
    //引入类库
    require_once __DIR__ . '/vendor/autoload.php';
    
    use PhpAmqpLib\Connection\AMQPStreamConnection;
    
    //$config = array(
    //    'host' => '127.0.0.1',
    //    'vhost' => '/',
    //    'port' => 5672,
    //    'login' => 'guest',
    //    'password' => 'guest'
    //);
    
    //创建一个连接
    $connection = new AMQPStreamConnection('127.0.0.1', '5672', 'guest', 'guest', '/'); // 建立连接到RabbitMQ服务器
    //建立通道
    $channel = $connection->channel();
    //声明需要存储消息的队列,已经存在,可以不用声明
    $channel->queue_declare('list_set_1', false, false, false, false);
    
    /**
     * 只有生产才会有消费。但是有可能我们会在生产者之前去启动消费者,所以我们要确保这个消费队列存在,才会尝试从中消费消息
     * 我们将告诉 rabbitmq 服务器,如果队列存在且有消息,要将队列中的消息传递给我们
     * 我们将定一个 callback 回调函数,它将接受服务器发送的消息
     * 请记住,消息是从服务器异步发送给客户端的
     * @param $msg
     */
    $callback = function ($msg) {
        echo ' 队列信息: ', $msg->body, "\n";
    };
    //消费消息
    $channel->basic_consume('list_set_1', '', false, true, false, false, $callback);
    // 当 $channel 有回调时,我们的代码会被阻塞,每当我们收到一条消息,我们的 $callback 函数都会传递给我们生产者发送的消息
    while ($channel->is_open()) {
        $channel->wait();
    }
    
    // 关闭通道和连接
    //$channel->close();
    //$connection->close();