|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2009-02-18 15:41 UTC] [email protected]
[2009-02-23 11:11 UTC] bernd dot ott at k-m dot info
[2009-02-23 11:21 UTC] [email protected]
[2009-03-02 08:34 UTC] bernd dot ott at k-m dot info
[2009-05-02 02:49 UTC] [email protected]
[2009-05-05 09:08 UTC] bernd dot ott at k-m dot info
[2009-07-20 11:20 UTC] m dot stach at ewerk dot com
[2010-03-25 13:48 UTC] bernd dot ott at k-m dot info
[2017-10-24 07:50 UTC] [email protected]
-Status: Assigned
+Status: Open
-Assigned To: dmitry
+Assigned To:
[2025-07-02 16:49 UTC] [email protected]
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: nielsdos
[2025-07-02 16:49 UTC] [email protected]
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 25 09:00:02 2025 UTC |
Description: ------------ Call to a Soapserver with the SoapClient leaves after a function call tcp-connection in state "time_wait". depending on your server your server get unreachable, because all workers are allocated by the waiting connections. the sample code leaves 100 open connections. if you call more than on function you get more open connections. the soapclient doesnt reuse the open connection. (this is not shown in the sample) the connections you can see in netstat or tcpview (sysinternals) Reproduce code: --------------- Client: <?php $i=100; while ($i>0) { $sc = new SoapClient(null, array('location' => "http://localhost/server.php", 'uri' => "http://test-uri/")); echo $sc->__soapcall("test", array('test'))."\r\n"; flush(); $i -= 1; } Server: <?php function test($x) { return $x."hallo"; } $server = new SoapServer(null, array('uri' => "http://test-uri/")); $server->addFunction("test"); $server->handle(); Expected result: ---------------- Client opens connection, does the function call and terminates connection. after correct close the should no connections in state "time_wait". Actual result: -------------- 100 connections are in time_wait status.