to send custom headers, you need send it as associative array under attribute 'headers'
(PECL amqp >= Unknown)
AMQPExchange::publish — Publish a message to an exchange.
$attributes= array() ]] )
Publish a message to the exchange represented by the AMQPExchange object.
Elenco dei parametri
The message to publish.
The routing key to which to publish.
One or more of
Supported indexes key Description Default value content_type text/plain content_encoding NULL message_id NULL user_id NULL app_id NULL delivery_mode NULL priority NULL timestamp NULL expiration NULL type NULL reply_to NULL
TRUE in caso di successo,
FALSE in caso di fallimento.
Throws an AMQPExchangeException on failure.
Throws AMQPChannelException if the channel is not open.
Throws AMQPConnectionException if the connection to the broker was lost.
Any unused attributes will be assigned as custom headers attached to the outgoing message's headers collection.
This isn't exactly clear from the documentation above, but I've checked the C source, and that's how you set custom headers.