函数名:mqseries_put1()
适用版本:MQSeries 5.3.0及更高版本
用法: mqseries_put1()函数用于将消息放入IBM MQ队列中。它是MQSeries扩展库中的一部分,因此在使用该函数之前,需要先安装并启用MQSeries扩展。
函数签名: bool mqseries_put1 ( resource $hconn , resource $objdesc , resource $msgdesc , resource $pmo , string $buffer , resource &$compCode , resource &$reason )
参数:
- $hconn:MQSeries连接资源,通过mqseries_conn()函数获取。
- $objdesc:队列对象描述符资源,通过mqseries_open()函数获取。
- $msgdesc:消息描述符资源,通过mqseries_msg()函数获取。
- $pmo:消息选项资源,通过mqseries_pmo()函数获取。
- $buffer:要发送到队列的消息内容。
- &$compCode:用于接收操作的完成代码(MQSeries调用成功或失败)。
- &$reason:用于接收操作失败的原因代码。
返回值: 如果消息成功放入队列中,则返回true。如果操作失败,则返回false。
示例代码: <?php // 连接到IBM MQ $hconn = mqseries_conn("QMGR"); if (!$hconn) { die("连接到MQSeries失败"); }
// 打开队列 $objdesc = mqseries_open($hconn, "QUEUE"); if (!$objdesc) { die("打开队列失败"); }
// 创建消息描述符 $msgdesc = mqseries_msg();
// 创建消息选项 $pmo = mqseries_pmo();
// 设置消息内容 $buffer = "Hello, MQSeries!";
// 将消息放入队列 $compCode = $reason = 0; $result = mqseries_put1($hconn, $objdesc, $msgdesc, $pmo, $buffer, $compCode, $reason); if ($result) { echo "消息成功放入队列"; } else { echo "消息放入队列失败,错误代码:$reason"; }
// 关闭队列 mqseries_close($hconn, $objdesc);
// 断开MQSeries连接 mqseries_disc($hconn); ?> 请确保在运行上述示例代码之前,已正确安装并启用MQSeries扩展,并根据实际情况修改连接参数、队列名称等。