1

我按照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. " " );
    }

谢谢,巴斯卡

4

1 回答 1

1

不,PHP 只是基于 C 的 MQI 的包装器(请参阅有关与 mqm 和 mqic 链接的说明 - C 库),并且无法从 C 客户端 api 提供用户名,抱歉。

于 2013-11-05T22:56:56.813 回答