我有一个服务器设置,使用PHP COM来创建" MSMQ.MSMQQueueInfo"对象然后因为它的PathName设置为"。\ private \ queue"。
这适用于本地队列(名为" 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"它会将消息成功排入本地队列。但为什么不采用我提供的远程队列路径?我的代码有什么问题吗?我必须启用什么?我失踪了什么?