mqseries_put1()
将消息放入IBM MQ队列中
函数名: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扩展,并根据实际情况修改连接参数、队列名称等。