PHP使用SoapClient耗尽内存大小

时间:2018-03-09 14:18:12

标签: php out-of-memory

今天我的PHP应用程序开始失败,使用来自https://github.com/rileydutton/Exchange-Web-Services-for-PHP的电子邮件解析器技术已经工作了多年。

在此之前,EC2驱动器已满,并且该站点已关闭。我解决了可用空间问题,除了解析器之外,网站还没有回来。然后我像往常一样通过yum和重新启动的服务更新系统。然后我重启了整个服务器。

日志表明:

未捕获的SoapFault异常:[客户端] /var/www/html/core/php/owaews/lib/NTLMSoapClient.php:10中允许的内存大小为314572800字节耗尽(试图分配1052319233字节)

这是连接到WSDL的初始构造代码。

请求的内存量发生了变化,但是这段代码在几年内没有变化,所以我很惊讶它正在起作用。

PHP设置为允许300MB的memory_usage。

我想知道如何解决这个问题及其根源。

目前使用FPM / FastCGI使用Apache 2.4.27和PHP 7.1.13运行Amazon Linux 2017.09 4.9.85-37

1 个答案:

答案 0 :(得分:0)

好的,显然远程加载WSDL会导致内存问题。最初的想法是OWA方面的变化,返回了网站窒息的一些奇怪的数据。

值得庆幸的是,解析器代码允许您在本地加载WSDL,并且在本地加载时不会出现问题。