MailerQを使ってメール配信したい。
公式サイトを見ると、AMQPが必要らしい。
で、AMQPにはbcmatchが必要とのことで、bcmatchをインストールする
$ php -v
PHP 7.4.11 (cli) (built: Oct 21 2020 19:12:26) ( NTS )
$ sudo yum list | grep php
// 省略
php.x86_64 7.4.14-1.amzn2 amzn2extra-php7.4
php-bcmath.x86_64 7.4.14-1.amzn2 amzn2extra-php7.4
$ sudo yum install php-bcmath
AMQPとは?
-> Advanced Message Queuing Protocol(AMQP)の略
-> メッセージ指向ミドルウェアのオープンスタンダードなアプリケーション層プロトコル
-> AMQPはメッセージングプロバイダとクライアントに、HTTPなどの手法と同じように異なるベンダ間で正しく相互運用できるような振る舞いを要求
Github: https://github.com/php-amqplib/php-amqplib
This library is a pure PHP implementation of the AMQP 0-9-1 protocol. It’s been tested against RabbitMQ.
The library was used for the PHP examples of RabbitMQ in Action and the official RabbitMQ tutorials.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
$ composer require php-amqplib/php-amqplib
$ ls
composer.json composer.lock vendor
send_msg.php
require_once __DIR__ . '/vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Message\AMQPMessage; $connection = new AMQPStreamConnection('192.168.33.10', 8000, 'password', '/my_vhost'); $channel = $connection->channel(); $channel->queue_declar('Hello_World', false, false, false, false); $msg = new AMQPMessage('Hello RabbitMQ World!'); $channel->basic_publish($msg, '', 'Hello_World'); echo " [x] Sent 'Hello_World'\n"; $channel->close(); $connection->close();
$ php send_msg.php
PHP Fatal error: Uncaught PhpAmqpLib\Exception\AMQPIOException: stream_socket_client(): unable to connect to tcp://192.168.33.10:8000 (Connection refused) in /home/vagrant/dev/mailer/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:111
ん? なんやこれ、どういうことだ。。。