RabbitMQ: Usar PHP para conectarse a RabbitMQ

Esta documentación forma parte de la guía Primeros pasos. Consulte la guía completa aquí: Cómo utilizar Stackhero para RabbitMQ.

Si trabaja con PHP, puede utilizar la librería php-amqplib para conectarse a su instancia de RabbitMQ. Como Stackhero utiliza cifrado TLS (SSL), debe usar 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);

En ocasiones, su conexión TLS puede requerir un certificado de Autoridad de Certificación (CA). Aunque muchos sistemas ya lo incluyen, puede descargarlo manualmente si es necesario. Así es como puede hacerlo:

  1. Descargue el certificado desde https://letsencrypt.org/certs/isrgrootx1.pem y guárdelo en su servidor.
  2. Después, puede conectarse usando PHP con el certificado descargado de la siguiente manera:
$sslOptions = array(
  'cafile' => realpath(__DIR__ . '/isrgrootx1.pem'),
);

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