com — «Недостаточно ресурсов» при отправке сообщения размером более 1,1 МБ в MSMQ через переполнение стека

Я пытаюсь отправлять сообщения в MSMQ, используя PHP. Если сообщение меньше приблизительно 1,1 МБ, оно отправляется. В противном случае я получаю исключение «com_exception: недостаточно ресурсов для выполнения этой операции». Сообщение меньше лимита 4 МБ.
Это то, что я узнал до сих пор:

  • file_get_contents а также file_put_contents с PHP работает без проблем, поэтому предел загрузки должен быть в порядке
  • отправка того же сообщения без php работает без проблем, так что это как-то связано с PHP
  • очистка сообщений из очереди не помогает
  • без сообщений

Настройки php.ini:

  • upload_max_filesize = 20M
  • memory_limit = 512M

В свойствах 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);

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]