使用 mqseries 从 PHP/Linux 进行的 Websphere MQ 连接 - 错误 2035 - 传递用户



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

谢谢巴斯卡尔

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

最新更新