大家好,我已经为此苦恼了两个星期。
问题是我做了一个肥皂服务,似乎工作正常。当我要求它显示它的函数时,它会全部返回它们等等。但是当我尝试向服务器调用两个函数时,我得到一个段错误:
'[notice] child pid 13950 exit signal Segmentation fault (11)'
但是当我分别调用这两个函数时,它们会起作用。我为此搜索了一周并尝试了不同的 wsdl 格式,但唯一出现的可能是 php 错误或 wsdl 中的一些错误(这似乎不太可能,因为我的验证器找不到错误)。
浏览器给了我这个作为回应:
错误 324 (net::ERR_EMPTY_RESPONSE)
我目前正在运行 php 版本 5.3.6 并且还尝试了 5.2.17 以尝试消除可能的 php 错误。但他们都给出了同样的错误。
办公室里没有人知道如何解决这个问题,因为“一切都会好起来的”。
谁能让我朝着正确的方向前进?
客户端:(此代码使 apache 崩溃)
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('soap.wsdl_cache_ttl', 0);
try{
$soap = new SoapClient("http://localhost/virtueleincasso.wsdl", array("exceptions" => 1));
$password = $soap->virtuele_incasso_login('user', 'pass');
$status = $soap->get_status($password , 1060);
}catch (SoapFault $exception){
echo $exception->faultstring;
}
服务器:
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('soap.wsdl_cache_ttl', 0);
$server = new SoapServer(DIR_ROOT."/virtueleincasso.wsdl");
$server->setClass('PP_Api');
$server->handle();
die();
解决方案:我使用 die 函数来停止服务器函数返回一个空字符串。我通过将其更改为退出函数来修复它。