У меня есть сервер, который использует PHP COM для создания объекта «MSMQ.MSMQQueueInfo», а затем в качестве его PathName установлено значение «. \ Private \ queue».
Это хорошо работает для локальной очереди (с именем «очередь»).
После исследования в Интернете я смог выяснить, хочу ли я поместить сообщение в очередь в удаленном месте MSMQ, его PathName должно выглядеть примерно так: FormatName:Direct=TCP:[ip]\\private$\\[queuename]
$msgQueueInfo = new COM("MSMQ.MSMQQueueInfo") or die("Couldn't create");
$msgQueueInfo->PathName = "FormatName:Direct=TCP:10.0.0.8\private$\queue";
$msgQueue = new COM("MSMQ.MSMQQueue") or die("Couldn't create");
$msgQueue = $msgQueueInfo->Open(2, 0);
Каждый раз, когда я пытаюсь запустить мой код выше, я получаю следующее сообщение об ошибке «Источник: MSMQQueueInfo
Описание: Указано неверное имя пути к очереди. «
Он успешно помещает сообщение в локальную очередь, если задан путь «. \ Private $ \ queue», но почему он не использует путь к удаленной очереди, который я указал? Что-то не так с моим кодом? Что-нибудь, что я должен включить? Что-то я пропускаю?
Задача ещё не решена.
Других решений пока нет …