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(Certificate Authority)证书。大多数系统已内置该证书,但如有需要,您也可以手动下载。操作如下:

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