Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有大数据的php SoapServer空响应_Php_Soapserver - Fatal编程技术网

带有大数据的php SoapServer空响应

带有大数据的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 错误日志

我正在与一种疯狂的行为作斗争:

我想用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
错误日志中没有错误,没有计时问题

我为测试建立了一个静态响应:

$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日志都没有尝试将内存限制加倍,看看是否有变化,如果没有,那么您可能在一个内存限制被锁定的服务器中