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);
手动下载 CA 证书
有时,您的 TLS 连接可能需要 CA(Certificate Authority)证书。大多数系统已内置该证书,但如有需要,您也可以手动下载。操作如下:
- 从 https://letsencrypt.org/certs/isrgrootx1.pem 下载证书,并保存到您的服务器。
- 然后,您可以在 PHP 中通过如下方式使用下载的证书连接:
$sslOptions = array(
'cafile' => realpath(__DIR__ . '/isrgrootx1.pem'),
);
$connection = new AMQPSSLConnection(
'<XXXXXX>.stackhero-network.com',
<AMQP_PORT_TLS>,
'admin',
'<PASSWORD>',
'/',
$sslOptions
);