This was really helpful, I needed an SSL version where the client didn’t need to have certificate and it took no time to implement once the server side was working (followed for the server). Here is my sender code:

‘cafile’ => ”, // no cert required
‘verify_peer’ => false,

#$connection = new AMQPStreamConnection(‘host’, 5671, ‘username’, ‘password’);
$connection = new AMQPSSLConnection(‘host’,5671, ‘username’,’password’, ‘/’, $ssl_options);

$channel = $connection->channel();

$channel->exchange_declare(‘exchange_name’, ‘direct’, false, true, false);
$channel->queue_declare($queue, false, true, false, false);
$channel->queue_bind($queue, ‘exchange_name’, $routingkey);

$data = implode(‘ ‘, array_slice($argv, 2));
if(empty($data)) $data = “Hello World!”;

$msg = new AMQPMessage($data,array(‘delivery_mode’ => 2)); # make message persistent

$channel->basic_publish($msg, ‘exchange_name’, $routingkey);

echo ” [x] Sent “,$queue,’:’,$data,” \n”;