Попытка подключиться к MQ с помощью PHP; почти готов

Итак, я провел последние несколько дней, пытаясь решить эту проблему, которая, кажется, была забыта, поскольку ни одно из двух доступных расширений PECL (SAM и mqseries) давно не обновлялось. Я пробовал оба, и mqseries, кажется, дает мне больше всего на данный момент, поскольку SAM отказывается установить мне соединение, хотя MQ отлично работает из командной строки. Я успешно создал соединение с моим QueueManager, и на следующем шаге (MQOPEN) я с треском провалился:

$mqcno = array(
        'Version' => MQSERIES_MQCNO_VERSION_2,
        'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
        'MQCD' => array('ChannelName' => '[channel]',
        'ConnectionName' => '[ipnumber]([port])',
        'TransportType' => MQSERIES_MQXPT_TCP)
    );

mqseries_connx('MQED', $mqcno, $conn, $comp_code,$reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
    printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, $reason);
    exit;
}

$mqods = array('ObjectName'=>'MYPUTQUEUE', 'ObjectType'=>MQOT_Q, 'ObjectQMgrName'=>'MYQUEUEMANAGER');
mqseries_open($conn, $mqods, 
          MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
          $obj, $comp_code,$reason);

Это приводит к тому, что $ reason заполняется 2044, что переводится как MQRC_OD_ERROR, или по-английски: 'На MQOPEN или вызов MQPUT1, дескриптор объекта MQOD недействителен ».

Итак, вопрос в том, что не так с моим MQOD?

Обновление №1: На данный момент это не решено. Я перестроил проект с нуля, чтобы решить любые проблемы во время сборки. Я все еще застрял на MQOPEN, возвращающем 2044. Образцы по-прежнему безупречно работают из CLI, так что это определенно связано с установкой расширения PECL. Если есть кто-нибудь, кто успешно установил и использует PHP против MQ в относительно недавней 64-битной среде PHP5, пожалуйста, дайте мне знать ...

Обновление №2: MQPUT1 безупречно работает с проблемой, которую я не могу получить мой ответ. На данный момент просто MQOPEN не работает.Вопрос в том; что заставляет MQOPEN возвращать 2044, когда MQPUT1 работает, что, насколько я понимаю, включает MQOPEN?

8
задан eriben 2 November 2011 в 21:03
поделиться