我按照http://blog.phpdeveloper.org/?p=140上的帖子使用 mqseries 扩展从 PHP / Linux 连接到远程 WebsphereMQ,并且能够使连接正常工作。
但是,请求是使用客户端上 apache 用户的用户名发送的,MQ 服务器拒绝错误 2035 的消息。我发现解决此问题的唯一方法是将运行 apache 的配置文件更改为可以访问 MQ 服务器的用户名。
使用 mqseries 从 php 建立到 WebSphere MQ 的连接时,有没有办法传递用户名?以下是我用来连接的代码:
//define connection parameters
$mqcno['MQCD'] = array(
'ChannelName' => $options['channel'],
'ConnectionName' => "$mq_host_ip($mq_host_port)",
'TransportType' => MQSERIES_MQXPT_TCP
);
// Connect to the MQ server
mqseries_connx($options['qmanager'], $mqcno, $this->_conn, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
die ("Cannot open connection to server $mq_host_ip($mq_host_port) : ".$comp_code. " " .$mq_server. " " .$reason. " " );
}
谢谢,巴斯卡