RabbitMQ: Mit PHP eine Verbindung zu RabbitMQ herstellen

Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Stackhero für RabbitMQ nutzen.

Wenn Sie mit PHP arbeiten, können Sie die php-amqplib Bibliothek nutzen, um sich mit Ihrer RabbitMQ-Instanz zu verbinden. Da Stackhero TLS-Verschlüsselung (SSL) verwendet, empfiehlt es sich, AMQPSSLConnection zu verwenden:

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

In manchen Fällen benötigt Ihre TLS-Verbindung ein Certificate Authority (CA) Zertifikat. Viele Systeme bringen dieses bereits mit, Sie können es aber bei Bedarf auch manuell herunterladen. So gehen Sie vor:

  1. Laden Sie das Zertifikat von https://letsencrypt.org/certs/isrgrootx1.pem herunter und speichern Sie es auf Ihrem Server.
  2. Anschließend können Sie sich in PHP mit dem heruntergeladenen Zertifikat wie folgt verbinden:
$sslOptions = array(
  'cafile' => realpath(__DIR__ . '/isrgrootx1.pem'),
);

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