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
);