带有大数据的php SoapServer空响应
我正在与一种疯狂的行为作斗争: 我想用SoapServer发送响应,但是当数据太大时,我会得到一个空响应(用soapUI测试) 来自服务器的响应:带有大数据的php SoapServer空响应,php,soapserver,Php,Soapserver,我正在与一种疯狂的行为作斗争: 我想用SoapServer发送响应,但是当数据太大时,我会得到一个空响应(用soapUI测试) 来自服务器的响应: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Encoding: gzip Vary: Accept-Encoding Date: Sat, 15 Apr 2017 00:54:26 GMT Connection: close Content-Length: 0 错误日志
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sat, 15 Apr 2017 00:54:26 GMT
Connection: close
Content-Length: 0
错误日志中没有错误,没有计时问题
我为测试建立了一个静态响应:
$array=(object)
[
(object)
[
'CallDirection' => 'Inbound',
'CallHangUpDateTime' => "2017-04-11 11:11:11"
],
(object)
[
'CallDirection' => 'Inbound',
'CallHangUpDateTime' => "2017-04-11 11:11:11"
]
];
一旦数组获得超过52个元素(测试时都是相同的),响应就为空
当元件具有更多项目时,工作元件的数量较小(例如31个)
数组将以以下代码返回:
$test = new getDialerTimeLineCallsResult((object)
[
'DialerOrderCallResults' => (object) $array,
'ServiceResult' => (object)
[
'ServiceCode' => 0,
'ServiceDuration' => 0,
'ServiceMessage' => "test",
'ServiceReference' => $ServiceReference,
'ServiceSuccess' => $result
]
]);
$test = new SoapVar($test,SOAP_ENC_OBJECT, null, null, 'getDialerTimeLineCallsResult');
return $test;
我已经编写了几个步骤来验证$test最终是否持有soapvar,它确实如此
但一旦结果变得太大,响应将是空的
我已经检查过没有内存限制,错误日志中没有错误,没有计时问题,在运行PHP5.x、Windows和Linux的两台服务器上进行了测试,结果相同
有人知道为什么会发生这种情况吗?您是否达到了内存限制?内存限制512M-可能是另一个限制,我不知道,我没有收到错误,服务器响应为200 OK检查我编写的/var/log/httpdas中的错误日志,日志中没有错误,服务器日志和php日志都没有尝试将内存限制加倍,看看是否有变化,如果没有,那么您可能在一个内存限制被锁定的服务器中