Re: XMLRPC and file_get_contents
| From: | Andreas Schlicker | Date: | Thu, 16 Aug 2007 13:10:15 +0000 |
| Subject: | Re: XMLRPC and file_get_contents | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-260913@lists.php.net to get a copy of this message | ||
Stut wrote:
Andreas Schlicker wrote:Hi Stut, I already used the set_time_limit to set a script running timeout. Looks like the problem was the timeout in the context. Thanks very much for you help. AndreasHi all, I'm writing an XML-REC client in PHP, based on the following example: <?php $request = xmlrpc_encode_request("method", array(1, 2, 3)); $context = stream_context_create(array('http' => array(There could be several timeouts at work here. First you can set a timeout in the context[1]. Second the PHP request time limit[2]. And finally your web server (assuming this is running through a web server) will have its own timeout - check the documentation for whatever server you're using for details. [1] http://php.net/wrappers.http [2] http://php.net/set_time_limit'method' => "POST", 'header' => "Content-Type: text/xml", 'content' => $request))); $file = file_get_contents("http://www.example.com/xmlrpc", false, $context); $response = xmlrpc_decode($file); if (xmlrpc_is_fault($response)) {trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");} else {print_r($response);} ?> If the XMLRPC call takes longer than say 30 seconds, the file_get_contents method doesn't returns null, and the script finishes. However, the XMLRPC server is not finished with the computation and gets a broken pipe since the client has already closed the connection. Is there some timeout? Am I doing something wrong?