RabbitMQ: Utiliser PHP pour se connecter à RabbitMQ

Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment utiliser Stackhero pour RabbitMQ.

Si vous développez en PHP, la bibliothèque php-amqplib permet de se connecter à votre instance RabbitMQ. Stackhero utilisant le chiffrement TLS (SSL), il est recommandé d'utiliser 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);

Dans certains cas, votre connexion TLS peut nécessiter un certificat d'autorité de certification (CA). De nombreux systèmes l'incluent déjà, mais vous pouvez le télécharger manuellement si besoin. Voici comment procéder :

  1. Téléchargez le certificat depuis https://letsencrypt.org/certs/isrgrootx1.pem et enregistrez-le sur votre serveur.
  2. Ensuite, connectez-vous en PHP en utilisant le certificat téléchargé comme suit :
$sslOptions = array(
  'cafile' => realpath(__DIR__ . '/isrgrootx1.pem'),
);

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