Для настройки подключения к RabbitMQ в Laravel с использованием Docker вам следует выполнить следующие шаги:
1. Создайте файл docker-compose.yml для запуска RabbitMQ контейнера:
```yaml
version: '3'
services:
rabbitmq:
image: rabbitmq:management
ports:
- "5672:5672"
- "15672:15672"
```
2. Запустите контейнер RabbitMQ:
```bash
docker-compose up -d
```
3. Добавьте библиотеку php-amqplib/php-amqplib к вашему проекту Laravel, используя Composer:
```bash
composer require php-amqplib/php-amqplib
```
4. Создайте класс для работы с RabbitMQ в вашем Laravel проекте:
```php
<?php
namespace App\Services;
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;
class RabbitMQService
{
protected $connection;
protected $channel;
public function __construct()
{
$this->connection = new AMQPStreamConnection('rabbitmq', 5672, 'guest', 'guest');
$this->channel = $this->connection->channel();
}
public function sendMessage($queue, $message)
{
$this->channel->queue_declare($queue, false, true, false, false);
$msg = new AMQPMessage($message);
$this->channel->basic_publish($msg, '', $queue);
$this->channel->close();
$this->connection->close();
}
}
```
5. Используйте этот класс в вашем контроллере для отправки сообщений:
```php
<?php
namespace App\Http\Controllers;
use App\Services\RabbitMQService;
use Illuminate\Http\Request;
class RabbitMQController extends Controller
{
public function send()
{
$rabbitmqService = new RabbitMQService();
$rabbitmqService->sendMessage('my_queue', 'Hello, RabbitMQ!');
return 'Message sent successfully!';
}
}
```
6. Запустите контейнеры вашего Laravel проекта и RabbitMQ:
```bash
docker-compose up -d
```
Теперь вы можете отправить сообщение через RabbitMQ из вашего Laravel проекта с помощью класса RabbitMQService.
Чтобы настроить соединение между двумя проектами с использованием RabbitMQ, вам потребуется повторить шаги 1-4 для второго проекта и указать в настройках подключения к RabbitMQ IP адрес или название хоста первого проекта, на котором запущен RabbitMQ контейнер.
Надеюсь, это поможет вам настроить соединение и отправить сообщение с помощью RabbitMQ и PHP библиотеки mpqlib между вашими проектами.