Re: XMLRPC and file_get_contents

From: Date: Thu, 16 Aug 2007 12:59:24 +0000
Subject: Re: XMLRPC and file_get_contents
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-260911@lists.php.net to get a copy of this message
Andreas Schlicker wrote:
Hi 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(
    '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?
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 -Stut -- http://stut.net/

« previous php.general (#260911) next »