ID: 19678 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: Output Control Operating System: redhat 7.3 PHP Version: 4.2.3 New Comment:
I was wondering if there is an example of how to implement chunked output in PHP? Where do I tell PHP to use HTTP/1.1 or HTTP/1.0. Even if I was using HTTP/1.1 why don't my PHP scripts do this for all pages? This only happens on some pages (most notebly my SOAP processing scripts) and not on others (plain XHTML output). Previous Comments: ------------------------------------------------------------------------ [2002-09-30 16:18:33] [EMAIL PROTECTED] you just discovered http/1.1 chunked output encoding ;) you can either switch to http/1.0 to prevent chunked output or implement chunk decoding as required as a 'MUST' in RFC2616 see also: http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1 http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.4.6 ------------------------------------------------------------------------ [2002-09-30 14:11:05] [EMAIL PROTECTED] $doc = domxml_open_mem($HTTP_RAW_POST_DATA); if (!$doc) { soap_fault("BAD_DATA","The content supplied was invalid"); } $env = $doc->document_element(); $body = $env->first_child(); $nodes = $body->child_nodes(); $c = sizeof($nodes); for($i=0;$i<$c;$i++) { if ($nodes[$i]->tagname == "method") $method = $nodes[$i]->get_content(); if ($nodes[$i]->tagname == "argv") $argv = $nodes[$i]->child_nodes(); } echo "AnyData Here"; results in: c AnyData Here That 'c' represents 12, the number of bytes written. It will do this for every usage of echo, here is a more complicated response result (can't show code cause my company won't allow that, will try to provide another sample later) Sample Code/Output: -- begin code -- header("Content-Type: text/xml; charset=\"UTF-8\")"); header("Cache-control: private"); echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>"; echo "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">"; echo "<SOAP-ENV:Body>"; echo "<status>success</status>"; echo "</SOAP-ENV:Body></SOAP-ENV:Envelope>"; exit(); -- end code -- -- begin output -- d0 <?xml version="1.0" encoding="UTF-8" standalone="no" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><status>success</status></SOAP-ENV:Body></SOAP-ENV:Envelope> 0 -- end output -- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19678&edit=1