|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-11-28 13:37 UTC] mflanagan at MJFlanagan dot com
Description:
------------
I have a server page that should be seinding output to a client php command-line script (not a browser). The headers arrive at the client, but the resot of the output doesn't. The same scripts work correctly under RH Linux (7.something) and Apache, same version of PHP.
Reproduce code:
---------------
LH_Svc.php:
<?php
$resp = "<response>\r\n";
$respLen = strlen ($resp);
header ("Content-Type: text/xml");
header ("Content-Length: $respLen\n");
echo ($resp); // send back to caller
exit;
?>
Client:
<?php
$server = "localhost";
$url = "/earn/LH_Svc.php";
$port = 80;
// open socket
$fp = fsockopen($server, $port);
if (!$fp) {
echo "Could not open socket";
}
else {
$postData = "<test>";
$dataLen = strlen ($postData);
$postHeader = "POST $url HTTP/1.0\r\n";
$postHeader .= "User-Agent: PHP-MJF Client\r\n";
$postHeader .= "Content-Type: text/xml\r\n";
$postHeader .= "Content-Length: $dataLen\n";
$postHeader .= "\r\n"; // required extra blank line
echo ($postHeader);
echo ($postData);
echo ("\n====================\n");
fwrite ($fp, $postHeader);
fwrite ($fp, $postData);
$getResponse = fread ($fp, 14096);
fclose ($fp);
echo "Length of response is " . strlen ($getResponse) . "\r\n";
echo $getResponse;
echo "=====================\n";
}
?>
Expected result:
----------------
D:\EarnApps>d:\php\php-4.3.3-win32\cli\php.exe post.cli
POST /earn/LH.php HTTP/1.0
User-Agent: PHP-MJF Client
Content-Type: text/xml
Content-Length: 6
<test>
====================
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Tue, 04 Nov 2003 18:30:44 GMT
X-Powered-By: PHP/4.3.3
Content-Type: text/xml
Content-Length: 10
<response>
=====================
Actual result:
--------------
D:\EarnApps>d:\php\php-4.3.3-win32\cli\php.exe post.cli
POST /earn/LH.php HTTP/1.0
User-Agent: PHP-MJF Client
Content-Type: text/xml
Content-Length: 6
<test>
====================
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Tue, 04 Nov 2003 18:30:44 GMT
X-Powered-By: PHP/4.3.3
Content-Type: text/xml
Content-Length: 10
=====================
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 21:00:01 2025 UTC |
Change fread ($fp, 14096); to while (($line = fgets($fp, 1024))) { $getResponse .= $line; }