Я пытаюсь отправлять сообщения в MSMQ, используя PHP. Если сообщение меньше приблизительно 1,1 МБ, оно отправляется. В противном случае я получаю исключение «com_exception: недостаточно ресурсов для выполнения этой операции». Сообщение меньше лимита 4 МБ.
Это то, что я узнал до сих пор:
file_get_contents
а также file_put_contents
с PHP работает без проблем, поэтому предел загрузки должен быть в порядкеНастройки php.ini:
В свойствах msmq нет ограничений на размер сообщения.
Я загружаю PDF-файлы в file_get_contents. Это php для отправки, исключение составляет $ msgOut-> Send ($ msgQueue):
$body = file_get_contents("somefile.pdf");
if(!$msgQueueInfo = new COM("MSMQ.MSMQQueueInfo")){
return false;
}
$msgQueueInfo->PathName = $this->getPath();
if(!$msgQueue = new COM("MSMQ.MSMQQueue")){
return false;
}
$msgQueue=$msgQueueInfo->Open(MQ_SEND_ACCESS, MQ_DENY_NONE );
if(!$msgOut = new COM("MSMQ.MSMQMessage")){
return false;
}
$msgOut->Body = $body;
$msgOut->Label = $this->getLabel();
$msgOut->Send($msgQueue);
$msgQueue->Close();
unset($msgOut);
unset($msgQueue);
unset($msgQueueInfo);
Задача ещё не решена.
Других решений пока нет …