RabbitMQ: Utilizar PHP para se ligar ao RabbitMQ

Esta documentação faz parte do guia Primeiros passos. Consulte o guia completo aqui: Como utilizar o Stackhero para RabbitMQ.

Se está a trabalhar com PHP, pode utilizar a biblioteca php-amqplib para se ligar à sua instância RabbitMQ. Como o Stackhero utiliza encriptação TLS (SSL), deve utilizar 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);

Por vezes, a sua ligação TLS pode necessitar de um certificado de Autoridade Certificadora (CA). Embora muitos sistemas já incluam este certificado, pode descarregá-lo manualmente se necessário. Veja como:

  1. Faça o download do certificado em https://letsencrypt.org/certs/isrgrootx1.pem e guarde-o no seu servidor.
  2. Depois, pode ligar-se em PHP utilizando o certificado descarregado da seguinte forma:
$sslOptions = array(
  'cafile' => realpath(__DIR__ . '/isrgrootx1.pem'),
);

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