RabbitMQ: PHP で RabbitMQ に接続する

このドキュメントははじめにガイドの一部です。完全なガイドはこちらからご覧いただけます:Stackhero で RabbitMQ を利用する方法

PHP で開発されている場合は、php-amqplib ライブラリを使って RabbitMQ インスタンスに接続できます。Stackhero では TLS(SSL)暗号化を利用しているため、AMQPSSLConnection の利用を推奨します:

use PhpAmqpLib\Connection\AMQPSSLConnection;

$connection = new AMQPSSLConnection(
  '<XXXXXX>.stackhero-network.com',
  <AMQP_PORT_TLS>,
  'admin',
  '<PASSWORD>',
  '/',
  array()
);

/**
 * @param \PhpAmqpLib\Connection\AbstractConnection $connection
 */
function shutdown($connection)
{
  $connection->close();
}

register_shutdown_function('shutdown', $connection);

TLS 接続時に認証局(CA)証明書が必要になる場合があります。多くのシステムには既に含まれていますが、必要に応じて手動でダウンロードすることも可能です。手順は以下の通りです:

  1. https://letsencrypt.org/certs/isrgrootx1.pem から証明書をダウンロードし、サーバーに保存します。
  2. その後、PHP でダウンロードした証明書を指定して接続します:
$sslOptions = array(
  'cafile' => realpath(__DIR__ . '/isrgrootx1.pem'),
);

$connection = new AMQPSSLConnection(
  '<XXXXXX>.stackhero-network.com',
  <AMQP_PORT_TLS>,
  'admin',
  '<PASSWORD>',
  '/',
  $sslOptions
);