Сегодня мое приложение PHP начало давать сбой, используя его технологию парсера электронной почты от https://github.com/rileydutton/Exchange-Web-Services-for-PHP, которая работала годами.
До этого залился диск EC2 и сайт вышел из строя. Я решил проблему свободного места, и сайт вернулся, кроме парсера. Затем я обновил систему, как обычно, через yum и перезапустил службы. Затем я перезагрузил весь сервер.
В журналах указано, что:
Неперехваченное исключение SoapFault: [Клиент] Допустимый размер памяти 314572800 байт исчерпан (попытался выделить 1052319233 байта) в /var/www/html/core/php/owaews/lib/NTLMSoapClient.php:10
Это исходный код конструкции, подключающийся к WSDL.
Запрошенный объем памяти меняется, но этот код не менялся годами, поэтому я удивлен, что он не работает.
PHP настроен на разрешение 300 МБ memory_usage.
Мне интересно, как я могу решить эту проблему и ее основную причину.
В настоящее время работает Amazon Linux 2017.09 4.9.85-37 с Apache 2.4.27 и PHP 7.1.13 с использованием FPM / FastCGI.






Хорошо, очевидно, загрузка WSDL удаленно вызвала проблемы с памятью. Первоначальные мысли - это изменения на стороне OWA, возвращающие некоторые странные данные, от которых сайт задыхался.
К счастью, код парсера позволяет загружать WSDL локально, и проблема не возникает при локальной загрузке.