我在我的nusoap服务中注册了以下操作:
$server->register(
'testfunction',
array('value' => 'xsd:string'),
array( ),
'urn:test_services',
'urn:test_services#testfunction'
);
......和功能本身:
function testfunction($value)
{
// do something with $value
}
我希望这个动作能够解雇并忘记",即无论什么电话都不必为响应而闲逛。我刚刚为$ server-> register的响应参数传递了一个空数组。我认为这可能会实现我所寻求的目标,但事实并非如此(客户对此做出了回应)。
WSDL看起来像这样:
<message name="testfunctionRequest">
<part name="value" type="xsd:string"/>
</message>
<message name="testfunctionResponse"/>
有没有办法通过nusoap实现这样的功能?我不确定&#34;是否会忘记&#34;是正确使用的术语,所以我在寻找可能的答案时遇到了一些麻烦!
答案 0 :(得分:1)
您需要从Web服务器进程分离当前执行并关闭连接:使用pcntl_fork()或在后台运行PHP脚本 - Asynchronous shell exec in PHP
另一种选择是将有关请求的信息添加到某个队列。此队列可能是MySQL(或其他DBMS)表或某种类型的存储,如MemcacheQ,RabbitMQ等。然后,由另一个独立脚本从队列中检索信息并对其进行处理。